CATEGORY

EC-CUBE

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

あ、またEC-CUBEきた。

1,535 PV

前回 EC-CUBE 3系のデモテンプレートを準備したので、まずはざっとソースを眺めていたのですが、正直2系とそんなに大きな差は感じませんでした。2系の構成は大体頭に入っているので、今回は3系のテンプレートを見てなんとなく違うなと感じたところを上げてみます。

変数の書き方

これは当たり前なのですが、今まで smarty で書かれていた部分が twig の記述になっています。具体的に言うと<!--{ **** }-->と書いていたものが、{% **** %}(関数){{ **** }}(変数)に置き換わっています。
でもまぁ、この辺はそんなに戸惑うところではなさそうです。

テンプレートのロジック

これに関してはちょっと言葉では説明しにくいので、図を使って説明します。もともと僕の方が2系のロジックを勘違いしていた可能性もあるのですが、その場合はご指摘ください。

EC-CUBE 2系

2系のテンプレート

2系ではsite_frame.phpを基点にsite_main.php -> 各テンプレート.phpとなっていたようで、どのテンプレートも基本は必ずsite_frame.php -> site_main.phpを通る仕組みになっていました(classファイル側で変更は可能)。

EC-CUBE 3系

3系のテンプレート

3系ではまず各テンプレート.twigが読み込まれているようで、各テンプレートが拡張(extends)としてdefault_frame.twigを取り込み、各テンプレート内で記述しているそれぞれの{% block %}と合成しているようでした。このテンプレートの差は結構大きい気がします。

たとえば今までsite_frame.php内でifを使って分岐していた各ページ毎の設定を、default_frame.twig自体を何種類か用意することでテンプレート側から制御するとか、いいかもしれません。

パッといま思いつくのはこの程度ですが、テンプレートのみを操作する分には2系よりも大分触りやすくなっている印象を受けました。サイトの構成もそんなに差がなさそうですし、2系経験者は比較的楽に入り込めそうです。
Twigになってもなんとかなりそうだー☆

CATEGORY : EC-CUBE

TAGS : | |

GO TOP