2010-06-25 83 views
2

如何获取当前(活动)顶级类别及其子类?获取Magento当前顶级类别

我不想要根类别,只是最高级别的类别及其所有子类别。

如果我在妇女的类别,例如:

Women 
- Apparel 
-- Shirts 
-- Pants 
- Accessories 
-- Handbags 
-- Jewelry 

即使我在看的衬衫,我想类别树保持不变。

任何帮助将不胜感激。

回答

2

为了给确切的答案你确切的问题“如何让当前类别及其子类别”:

检索当前类别:

$_currentCategory = $this->getCurrentCategory(); 

检索其子类别:

$_categories = $this->getCurrentChildCategories(); 

以上正在目录/导航块中工作。

现在,为了获得您正在谈论的渲染,我认为使用CSS的简单导航块可以实现这一功能。

  1. 创建一个导航块,让我们在你的左边列说:

  2. 创建模板目录结构的模板文件。在我们的例子: /template/catalog/navigation/thetemplate.phtml

  3. 使用该代码来绘制整个类别/子类别结构,而无需修改代码的麻烦(参见[1]在柱的端部。 ...)

  4. 检查生成的代码/ 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; ?> 
+0

我想正是这样,它没有工作对我来说B/CI为使用“可见性”而不是“显示”。非常感谢你让我重新审视它的CSS。你刚刚救了我一大堆头痛 – Booski 2010-06-26 21:43:22