ECサイトでは商品があるカテゴリーに含まれるかどうかチェックして、ページごとに情報を変えるというカスタマイズを良く行います。EC-CUBE3やEC-CUBE4ではとても簡単に実現できるので、よくある確認方法をご紹介します。


今回は2つの方法をご紹介します。twigだけで完結する方法とエンティティファイルに便利なメソッドを追加する方法です。

twigファイルだけで完結する方法

twig内でもfor文とif文で商品がカテゴリに属しているかどうかを判断することができます。例はIDが2のカテゴリに属しているかどうかチェックしています。

Entityにメソッドを追加する方法

Twig内だけで完結することもできるのですが、より使い回しが効くEntityにメソッドを追加の方法をご紹介します。今回は直接Entityにメソッドを追加していますが、4系ではCustomizeディレクトリにProductエンティティのTraitを追加する方が良いでしょう。

src/Eccube/Entity/Product.phpにメソッド追加

 

上記メソッドを追加したことにより、Twigテンプレート内やコントローラで簡単にカテゴリーのチェックを行うことができます。

例えば商品詳細ページでは以下のように書くことが可能になります。

app/template/default/Product/detail.twig

 

カテゴリーIDは管理画面や商品一覧ページのURLで確認することができます。EC-CUBE3系4系をご利用の方はぜひお試しください。