質問 > 管理機能 > 属する商品がなければカテゴリーを非表示 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ゲスト |
投稿日時: 2023/10/23 13:46
対応状況: 開発中
|
属する商品がなければカテゴリーを非表示 任意の子カテゴリー一覧を表示していますが、その子カテゴリーに商品がない場合、子カテゴリー名を非表示にする方法をアドバイスいただけないでしょうか?
何卒、宜しくお願いいたします。 {% set Category = repository('Eccube\\Entity\\Category').find(11) %} {% set cate_childs = Category.getDescendants %} {% if cate_childs %} {% set h = Category.hierarchy + 1 %} <ul> {% for cate in cate_childs %} {% if h == cate.hierarchy %} <li><a href="{{ url('product_list') }}?category_id={{ cate.id }}">{{ cate.name }}</a></li> {% endif %} {% endfor %} </ul> {% endif %} |
|
h_tanaka |
投稿日時: 2023/10/23 14:08
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1755 |
Re: 属する商品がなければカテゴリーを非表示 やり方は2つ考えられます。
1つは、単純に上記ループ内にてカテゴリーから商品カテゴリーを、商品カテゴリーから商品を取得し、商品の公開ステータスが公開のものをカウントして 0 より大きければ表示するというものです。 ただし、この場合は商品レコードのカウントをページ表示のたびに行うため、パフォーマンス(ページの表示速度)が極端に遅くなる可能性があります。 もう1つは、商品情報を更新するタイミングや1日に1回など固定時間で商品カテゴリー配下の公開ステータスの商品をカウントしてカテゴリーテーブルに保存しておき、上記ループ内でカテゴリーに保存してある商品数を参照する方法です。 上記どちらの方法でもエンジニアによるカスタマイズは必須になります。
|
mcontact |
投稿日時: 2023/10/23 14:16
対応状況: −−−
|
神 登録日: 2022/1/22 居住地: 投稿: 1463 |
Re: 属する商品がなければカテゴリーを非表示 EC-CUBEのカスタマイズが必要です。
簡単に実装するのであれば、 管理画面>商品管理>カテゴリ管理の右側にある「すべてのカテゴリ」の様に各カテゴリに登録されている子カテゴリの件数の様に、各カテゴリの様に登録されている商品情報数を取得したリストを作成する必要があります。 Controller部のカスタマイズ、Twigのカスタマイズ、Doctrinの知識などが必要になります。 下記公式ドキュメントの「本体カスタマイズ」をよく読み実装してみてください。 https://doc4.ec-cube.net/
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |