我想隐藏我的分层导航中的一个类别。我将“在导航中显示”设置为否,但它仍显示在搜索结果页面上。有没有办法隐藏这个?
答案 0 :(得分:1)
要从分层导航中排除单个类别,请按照以下步骤操作。请注意,您可以针对任何类型的类别列表执行此操作。
找到代码:
<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。