【问题标题】:Magento Mage::helper('catalog/category')Magento Mage::helper('目录/类别')
【发布时间】:2014-03-26 00:00:17
【问题描述】:

我一直用这个来获取分类列表:

Mage::helper('catalog/category')->getStoreCategories()

但我有一个问题。它只显示在导航菜单中包含“是”的类别*。

这是整个代码。

<?php if(Mage::helper('dynamicsitemap')->showCategories()): ?>
<div class="sitempan">
    <h2 class="smh2">Our Categories</h2>
    <?php $_helper = Mage::helper('catalog/category') ?>
    <?php echo $_helper->getStoreCategories() ?>
    <?php 
    $_categories = Mage::helper('catalog/category')->getStoreCategories() ?>
    <?php if (count($_categories) > 0): ?>
        <ul class="sitecatul">
            <?php foreach($_categories as $_category): ?>
            <?php //echo $_category->isEnabled(); ?>
                <li class="cat">
                        <a href="<?php echo $_helper->getCategoryUrl($_category) ?>" title="<?php echo $_category->getName() ?>"><strong class="strongsm"><?php echo $_category->getName() ?></strong></a>
                    <?php $_category = Mage::getModel('catalog/category')->load($_category->getId()) ?>
                    <?php $_subcategories = $_category->getChildrenCategories() ?>
                    <?php if (count($_subcategories) > 0): ?>
                        <ul>
                            <?php foreach($_subcategories as $_subcategory): ?>
                                <?php $_nextcategory = Mage::getModel('catalog/category')->load($_subcategory->getId()) ?>
                                <?php $_nextsubcategories = $_nextcategory->getChildrenCategories() ?>
                                <li>
                                    <a href="<?php echo $_helper->getCategoryUrl($_subcategory) ?>" title="<?php echo $_subcategory->getName() ?>">
                                        <?php echo $_subcategory->getName() ?>
                                    </a>
                                    <?php if (count($_nextsubcategories) > 0): ?>
                                    <ul>
                                        <?php foreach($_nextsubcategories as $_nextsubcat): ?>
                                            <li>
                                                <a href="<?php echo $_helper->getCategoryUrl($_nextsubcat) ?>" title="<?php echo $_subcategory->getName() ?> - <?php echo $_nextsubcat->getName() ?>">
                                                    <?php echo $_nextsubcat->getName() ?>
                                                </a>
                                            </li>
                                        <?php endforeach; ?>
                                    </ul>
                                    <?php endif; ?>
                                </li>
                            <?php endforeach; ?>
                        </ul>
                    <?php endif; ?>
                </li>
            <?php endforeach; ?>
        </ul>
    <?php endif; ?>
    </div>

我想知道如何显示所有类别,即使它们未在菜单中列出,以将其用作站点树。

【问题讨论】:

    标签: php magento


    【解决方案1】:

    尝试将第 7 行更改为:

    $_categories = Mage::getModel('catalog/category')->getCollection()->addAttributeToSelect('*');
    

    【讨论】:

    • 我需要用 Mage::helper 来获取它们
    • 为什么?您可以从任何地方实例化模型。此外,您正在加载的助手,猜猜它在 getStoreCategories 中所做的第一件事 - 它使用 $category = Mage::getModel('catalog/category');
    【解决方案2】:

    尝试改变

    $_categories = Mage::helper('catalog/category')->getStoreCategories();
    

    到

    $_categories = $categories = Mage::getModel('catalog/category')->getCollection()->addAttributeToSelect('*')->addIsActiveFilter();
    

    【讨论】:

    • 我需要用 Mage::helper 来获取它们
    猜你喜欢
    • 1970-01-01
    • 2012-12-26
    • 2014-12-09
    • 2011-09-21
    • 2011-04-06
    • 1970-01-01
    • 2014-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多