【问题标题】:Display ALL categories that a product belongs to in Magento在 Magento 中显示产品所属的所有类别
【发布时间】:2010-11-23 03:39:38
【问题描述】:

我正在构思一个新的 Magento 网站,该网站将包含多个类别的产品。我想知道是否可以在产品详细信息页面上显示产品所在的所有类别。我知道可以获取 类别,但是是否可以显示产品所属的所有 类别的列表?

例如,衬衫可能包含在 衬衫 类别中,也可能包含在 DesignersSummer 类别中。理想情况下,我希望能够显示以下内容:

更多来自:

   男士 > 衬衫

   男士 > 设计师 > Barnabé Hardy

   男士 > 夏季

【问题讨论】:

    标签: php collections magento categories


    【解决方案1】:

    这将为您提供您正在寻找的数据,例如类别名称、URL 等:

    $currentCatIds = $_product->getCategoryIds();
    $categoryCollection = Mage::getResourceModel('catalog/category_collection')
                         ->addAttributeToSelect('name')
                         ->addAttributeToSelect('url')
                         ->addAttributeToFilter('entity_id', $currentCatIds)
                         ->addIsActiveFilter();
    

    然后只需遍历集合,例如

    foreach($categoryCollection as $cat){
      echo $cat->getName().' '.$cat->getUrl();
    }
    

    【讨论】:

    • 谢谢,JD。我试试看!
    • 有没有办法显示完整的类别路径(每个阶段都有链接),而不是只显示产品所属的最终类别?
    • 差不多就是这样,是的。经过大量寻找这个问题的答案后,我发现 Magento 对面包屑的定义与其他大多数人都不同 - 但是是的,我会称之为面包屑。
    • 在这里提问和回答:stackoverflow.com/questions/9531702/…
    【解决方案2】:

    简单。

    $_categories = $_product->getCategoryCollection()
    foreach ($_categories as $_category)
        //do something with $_category
    

    【讨论】:

      【解决方案3】:

      您可以使用以下代码在产品详情页面中显示与所选产品相关的所有类别。

      <?php $categories = $_product->getCategoryIds(); ?>
                 <?php foreach($categories as $k => $_category_id): ?>
                 <?php $_category = Mage::getModel('catalog/category')->load($_category_id) ?> 
      < <a href="<?php echo $_category->getUrl() ?>"><?php echo $_category->getName() ?></a>
                 <?php endforeach; ?>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多