如何获取当前(活动)顶级类别及其子类别?
我不想要根类别,只需要最高级别的类别及其所有子类别。
例如,如果我在女性类别中:
Women
- Apparel
-- Shirts
-- Pants
- Accessories
-- Handbags
-- Jewelry
即使我在看衬衫,我也希望类别树保持不变。
非常感谢任何帮助。
答案 0 :(得分:2)
准确回答您的准确问题“如何获取当前类别及其子类别”:
要检索当前类别:
$_currentCategory = $this->getCurrentCategory();
检索其子类别:
$_categories = $this->getCurrentChildCategories();
以上是在目录/导航块中工作。
现在,为了得到你正在谈论的渲染,我认为一个使用CSS的简单导航块可以解决问题。
创建一个导航块,假设在左栏中:
在模板目录结构中创建模板文件。在我们的例子中: /template/catalog/navigation/thetemplate.phtml
使用此代码绘制整个类别/子类别结构,无需修改代码的麻烦(参见帖子末尾的[1] ....)
检查生成的代码/ CSS,您将看到所有必需的CSS指针(levelX,active ...)允许您显示或隐藏类别树的各个部分,从而仅显示您喜欢的部分
结论:CSS足以完成你想做的事情:)
[1]代码:
<?php $_menu = ''?>
<?php foreach ($this->getStoreCategories() as $_category): ?>
<?php $_menu .= $this->drawItem($_category) ?>
<?php endforeach ?>
<?php if ($_menu): ?>
<div class="THECSS-CONTAINER">
<ul id="THECSS">
<?php echo $_menu; ?>
</ul>
</div>
<?php endif; ?>