EC-CUBEではデータベースのデータを取得するためにレポジトリと言われるクラスを利用します。コントローラやサービスからはレポジトリの利用が簡単ですが、よくあるのがtwigテンプレート上で商品やカテゴリのデータを取得したいというケースです。

コントローラから渡すのが基本ですが、大変な時はtwig上で取得することも可能です。実際EC-CUBE上でも何箇所か利用されています。

EC-CUBE3系の場合

コンテナに登録してあるレポジトリを呼び出すことでfindByなどのメソッドを利用できます。メソッドを呼び出すときもドットでつなぎます。

{% set Categories = app[‘eccube.repository.category’].findBy({‘Parent’ : 1}) %}

EC-CUBE4系の場合

4系ではEC-CUBE側でレポジトリ取得用の関数が用意されています。

{% set Categories = repository(‘Eccube\\Entity\\Category’).findBy({‘Parent’ : 1}); %}

日本発!ECオープンプラットフォーム「EC-CUBE」 EC-CUBEゴールドパートナー EC-CUBEは株式会社イーシーキューブの商標です

EC-CUBEカスタマイズに関するお問い合わせはこちら


    [重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。

    EC-CUBEバージョンアップ