CATEGORY
EC-CUBE
【EC-CUBE】v2系と v3系、テンプレートに感じた違い

1,535 PV
前回 EC-CUBE 3系のデモテンプレートを準備したので、まずはざっとソースを眺めていたのですが、正直2系とそんなに大きな差は感じませんでした。2系の構成は大体頭に入っているので、今回は3系のテンプレートを見てなんとなく違うなと感じたところを上げてみます。
変数の書き方
これは当たり前なのですが、今まで smarty で書かれていた部分が twig の記述になっています。具体的に言うと<!--{ **** }-->
と書いていたものが、{% **** %}(関数)
と{{ **** }}(変数)
に置き換わっています。
でもまぁ、この辺はそんなに戸惑うところではなさそうです。
テンプレートのロジック
これに関してはちょっと言葉では説明しにくいので、図を使って説明します。もともと僕の方が2系のロジックを勘違いしていた可能性もあるのですが、その場合はご指摘ください。
EC-CUBE 2系
2系ではsite_frame.php
を基点にsite_main.php -> 各テンプレート.php
となっていたようで、どのテンプレートも基本は必ずsite_frame.php -> site_main.php
を通る仕組みになっていました(classファイル側で変更は可能)。
EC-CUBE 3系
3系ではまず各テンプレート.twig
が読み込まれているようで、各テンプレートが拡張(extends)としてdefault_frame.twig
を取り込み、各テンプレート内で記述しているそれぞれの{% block %}
と合成しているようでした。このテンプレートの差は結構大きい気がします。
たとえば今までsite_frame.php
内でif
を使って分岐していた各ページ毎の設定を、default_frame.twig
自体を何種類か用意することでテンプレート側から制御するとか、いいかもしれません。
パッといま思いつくのはこの程度ですが、テンプレートのみを操作する分には2系よりも大分触りやすくなっている印象を受けました。サイトの構成もそんなに差がなさそうですし、2系経験者は比較的楽に入り込めそうです。
Twigになってもなんとかなりそうだー☆
CATEGORY : EC-CUBE