ECサイトでは商品があるカテゴリーに含まれるかどうかチェックして、ページごとに情報を変えるというカスタマイズを良く行います。

EC-CUBE3ではとても簡単に実現できるので、よくある確認方法をご紹介します。

Twig内だけで完結することもできるのですが、より使い回しが効くEntityにメソッドを追加の方法をとります。

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

 

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

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

app/template/default/Product/detail.twig

 

実際にはあまりTwig内でカテゴリー名を使ってチェックすることはおすすめしませんが・・・。

理由はカテゴリー名は頻繁に修正が入ることと、データベースへの余分な問い合わせが発生する可能性があるためです。

カテゴリーIDは管理画面や商品一覧ページのURLで確認することができます。

EC-CUBE3をご利用の方はぜひお試しください。

 

 

関連するカスタマイズ

ポイントプラグインのポイント数を自前で取得... EC-CUBE3のポイントプラグインでは、ポイント数はplg_point_customerデータベースに保存されています。 このデータはレポジトリ$appを利用して簡単に取得可能です。 テンプレートに渡す場合、次のようなコードでポイント数を取得し、テンプレートに渡してやればページに表示す...
新しくテーブルを作ってエンティティと関連づける方法... 今回は非常に要望が多かった新しいテーブルを作ってエンティティとしてデータ取得をできるようにする方法をご紹介します。 この方法は3系のもので、まもなくリリースされるEC-CUBE4系では利用できませんのでご注意ください。 データベースの作成 ドクトリン定義ファイルの作成(dcm....
商品一覧のページネーションに「最初へ」「最後へ」を表示する方法... 商品一覧ページのページネーションはProduct/list.twigを見るとpagination.twigをインクルードすることで表示されています。 pagination.twigをのぞいて見ると「最後へ」の部分は次のようなコードが書かれています。 このリンクを表示するにはconfi...
ドクトリンで用いられるエンティティとレポジトリとは?... EC-CUBE3やEC-CUBE4で開発を行なっていると必ず耳にするのがドクトリンやエンティティ、レポジトリといったデータベース周りの用語です。 ECサイトはデータベースと密接に関係しているため、これらを用いずにEC-CUBEの開発を行うことは不可能です。 エンティティとレポジトリとは? ...