EC-CUBE4で利用できる、twig関数repository
の使い方です。
通常、データを取得する際には、コントローラ側でデータを取得し、twigテンプレートへ渡す必要がありますが、repository
関数を使えばtwigテンプレート内でデータ取得を行うことができます。
乱用すると可読性が悪くなるので注意が必要ですが、データがほしいけどphpのプログラムを触るのは敷居が高い、ような場合に使うと良いかと思います。
repository関数の文法は以下の通りです。
repository(エンティティクラス名).findBy({検索条件}, {ソート順}, 取得件数)
例えば、公開ステータスの新着商品を5件取得する場合は以下のようなサンプルになります。
{% set Products = repository('Eccube\\Entity\\Product').findBy({ Status: 1 }, { create_date: 'desc' }, 5) %}
{% for Product in Products %}
{{ Product.name }}
{% endfor %}