質問 > フロント機能 > ヘッダーに小カテゴリー一覧を表示 |
フロント機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
musuke |
投稿日時: 2017/6/22 12:20
対応状況: −−−
|
一人前 登録日: 2017/6/14 居住地: 投稿: 76 |
Re: ヘッダーに小カテゴリー一覧を表示 返信ありがとうございます。
具体的に明示してくださり、感謝致します。 コントローラーの作成 logic_flgを立てる 定義を追加 といった作業がまだまだ知識不足です。 {% set Categories = app['eccube.repository.category'].getList() %} といった方法があるのは全く知りませんでした。 必要に応じて使ってみます。 ありがとうございました。 |
hata |
投稿日時: 2017/6/22 10:37
対応状況: −−−
|
長老 登録日: 2015/8/3 居住地: 宮城県(2017/09末引退) 投稿: 156 |
Re: ヘッダーに小カテゴリー一覧を表示 category.twigを見ていただけるとわかると思いますが、カテゴリーは Categories から取り出しています。
これは src/Eccube/Controller/Block/CategoryController.php で用意しています。 新規のブロックで必要になる情報は、以下のようにして用意するのが基本的なカスタマイズ方法です。 ・ブロックの作成 ・(上記のような)コントローラーの作成 ・データベースのdtb_blockで対象ブロックにlogic_flgを立てる ・src/Eccube/ControllerProvider/FrontControllerProvider.phpに定義を追加 また、推奨ではないようですが、twigから直接取り出すこともできます。 Categories が使えないブロックでも、以下のようにすることで category.twigと同じ Categories を 使用することができます。 {% set Categories = app['eccube.repository.category'].getList() %} ※コミュニティでeccube.repository.categoryを検索すると条件を絞る方法が見つかるかも。 最後に、category.twig の配置を変え、中身を希望通りに変更する方式で支障がないのでしたら、 上記のような対応は不要です。 ただし、ハンバーガーメニュー中のカテゴリもcategory.twigから生成されていますので、合わせて 対応してくださいね。 |
musuke |
投稿日時: 2017/6/21 11:00
対応状況: 解決済
|
一人前 登録日: 2017/6/14 居住地: 投稿: 76 |
ヘッダーに小カテゴリー一覧を表示 ヘッダーにカテゴリー一覧をメニューとしてを表示し、大カテゴリーをクリックで小カテゴリー一覧をメガドロップダウンで表示させたいと考えております。
大カテゴリーに関しましては固定なのでHTMLで直書きしようと思うのですが、小カテゴリーを自由に増減させられるようにしたいのです。 小カテゴリーを取得してくるような記述はどう記入すればいいのでしょうか? {% macro tree(Category) %} <li> <a href="{{ url('product_list') }}?category_id={{ Category.id }}"> {{ Category.name }} </a> {% if Category.children|length > 0 %} <ul> {% for ChildCategory in Category.children %} {{ _self.tree(ChildCategory) }} {% endfor %} </ul> {% endif %} </li> {% endmacro %} category.twigの上記のような記述をlogo.twigに記述しても動作しないのでしょうか? そもそもカテゴリーのブロックをヘッダーへ持っていけばいいのでしょうか? |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |