【问题标题】:Get Current Top Level Category with Magento使用 Magento 获取当前顶级类别
【发布时间】:2010-06-26 17:18:02
【问题描述】:

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

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

例如,如果我属于女性类别:

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

即使我在看衬衫,我也希望类别树保持不变。

任何帮助将不胜感激。

【问题讨论】:

    标签: magento


    【解决方案1】:

    要准确回答您的精确问题“如何获取当前类别及其子类别”:

    检索当前类别:

    $_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; ?>
    

    【讨论】:

    • 我试过了,但它对我不起作用 b/c 我使用的是“可见性”而不是“显示”。非常感谢你让我重新审视它的 css。你刚刚让我头疼不已
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-27
    • 1970-01-01
    相关资源
    最近更新 更多