【发布时间】:2012-12-31 17:27:29
【问题描述】:
我想从我的分层导航中只隐藏一个类别。我将“在导航中显示”设置为否,但它仍然显示在搜索结果页面上。有办法隐藏吗?
【问题讨论】:
标签: magento navigation hide categories
我想从我的分层导航中只隐藏一个类别。我将“在导航中显示”设置为否,但它仍然显示在搜索结果页面上。有办法隐藏吗?
【问题讨论】:
标签: magento navigation hide categories
要从分层导航中排除单个类别,请按照以下步骤操作。请注意,您可以对任何类型的类别列表执行此操作。
查找代码:
<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。
【讨论】: