我想从我的分层导航中隐藏一个类别。我将“在导航中显示”设置为否,但它仍然显示在搜索结果页面上。有没有办法隐藏这个?
问问题
5059 次
1 回答
1
要从分层导航中排除单个类别,请按照以下步骤操作。请注意,您可以对任何类型的类别列表执行此操作。
- 打开/app/design/frontend/default/YOURTHEMENAME/template/catalog/navigation/left.phtml。如果它不存在,请从基本文件夹中复制它。
找到代码:
<dl id="narrow-by-list2"> <dt><?php echo $this->__('Category') ?></dt> <dd> <ol> <?php foreach ($_categories as $_category): ?> <?php if($_category->getIsActive()): ?> <li> <a href="<?php echo $this->getCategoryUrl($_category) ?>"<?php if ($this->isCategoryActive($_category)): ?> class="current"<?php endif; ?>><?php echo $this->htmlEscape($_category->getName()) ?></a> (<?php echo $_category->getProductCount() ?>) </li> <?php endif; ?> <?php endforeach ?> </ol> </dd> </dl>
在 foreach 循环中添加这个 if 语句(不要忘记关闭它):
<?php if ($_category->getId() != 22): ?>
新代码将如下所示:
<dl id="narrow-by-list2"> <dt><?php echo $this->__('Category') ?></dt> <dd> <ol> <?php foreach ($_categories as $_category): ?> <?php if ($_category->getId() != 22): ?> <!-- If statement here, replace category ID --> <?php if($_category->getIsActive()): ?> <li> <a href="<?php echo $this->getCategoryUrl($_category) ?>"<?php if ($this->isCategoryActive($_category)): ?> class="current"<?php endif; ?>><?php echo $this->htmlEscape($_category->getName()) ?></a> (<?php echo $_category->getProductCount() ?>) </li> <?php endif; ?> <?php endif; ?> <!-- End new If statement here --> <?php endforeach ?> </ol> </dd> </dl>
将类别 ID替换为您希望排除的类别的 ID。
要查找类别的 ID,请转到您的 Magento 管理面板和类别,当您单击左上角的类别时,您将看到它的数字 ID。
于 2013-01-01T03:00:30.440 回答