そのカテゴリに製品がない場合は、「ブラウズ」を隠す
-
12-12-2019 - |
質問
カテゴリの木を使用しています、ツリーの最後のカテゴリには製品があります。他のすべてのものはサブカテゴリまたはテキスト(静的ブロック)へのリンクしかリンクしません。これが例です。
Category A --> Category A1 ----> Category A11 ---> Category A111
.
カテゴリAページには、カテゴリA1とテキストへのイメージリンクがあります。カテゴリA11にはA111へのイメージリンクがあります。 A111のみが関連付けられています。
「ブラウズ」サイドブロックは、(A1とA11)の製品なしのカテゴリの0の製品を示しています。カテゴリの製品番号を表示し続けたいのですが、内部の製品を持つ人のためだけに。
ファイル内のIFステートメントであると思いますが、アドバイスが必要です。これはチェックボックスを使用してエレガントな方法で解決されることも、カテゴリを作成するときに[はい/今から選択]を選択できます。そのカテゴリの内部に製品が内側に含まれていない場合は、静的ブロックだけで、「製品数を表示しない」(有効になっている場合)を選択できます。このカテゴリのために閲覧することはできません。
現在マゼンゴには深刻な論理的な問題があります。ゼロ商品を見るときに訪問者が中に入ってこないので、これは悪いです。
解決
だからこの表示を行うテンプレートはapp/design/frontend/base/default/template/catalog/navigation/left.phtml
あなたができることはこのテンプレートのバージョンをテーマに追加し、カテゴリに製品があるときに表示するために単に番号の表示を変更するだけです。
元の行は次のとおりです。
<a href="<?php echo $this->getCategoryUrl($_category) ?>"<?php if ($this->isCategoryActive($_category)): ?> class="current"<?php endif; ?>><?php echo $this->escapeHtml($_category->getName()) ?></a> (<?php echo $_category->getProductCount() ?>)
.
私は次のようなものがうまくいくでしょう:
<a href="<?php echo $this->getCategoryUrl($_category) ?>"<?php if ($this->isCategoryActive($_category)): ?> class="current"<?php endif; ?>><?php echo $this->escapeHtml($_category->getName()) ?></a> <?php if($_category->getProductCount()) > 0):?>(<?php echo $_category->getProductCount() ?>)<?php endif; ?>
. 他のヒント
管理インタフェースのアンカーカテゴリとしてカテゴリをマークしましたか?これにより、子カテゴリの製品が親カテゴリのリストに表示されるようにする必要があります。
ルートカテゴリの「はい」に「はい」に設定してください。
助けを願っています。