如何在magento中获取当前类别及其子类别?

时间:2014-04-25 10:04:47

标签: php magento

我知道我可以迭代类别以获取产品的ID并在视图中加载它们,但我希望获得产品集合,因为它目前在大多数类别/视图中完成。

简而言之,如何获得子类别。

1 个答案:

答案 0 :(得分:7)

要获取当前类别及其子类别,您可以尝试这样

<?php $_helper = Mage::helper('catalog/category') ?>
<?php $_categories = $_helper->getStoreCategories() ?>
<?php $currentCategory = Mage::registry('current_category') ?>
<?php if (count($_categories) > 0): ?>
    <ul>
        <?php foreach ($_categories as $_category): ?>
            <li>
                <a href="<?php echo $_helper->getCategoryUrl($_category) ?>">
                    <?php echo $_category->getName() ?>
                </a>
                <?php if ($currentCategory && $currentCategory->getId() == $_category->getId()): ?>
                <?php $_category = Mage::getModel('catalog/category')->load($_category->getId()) ?>
                    <?php $_subcategories = $_category->getChildrenCategories() ?>
                    <?php if (count($_subcategories) > 0): ?>
                    <ul>
                                <?php foreach ($_subcategories as $_subcategory): ?>
                            <li>
                                <a href="<?php echo $_helper->getCategoryUrl($_subcategory) ?>">
                            <?php echo $_subcategory->getName() ?>
                                </a>
                            </li>
                    <?php endforeach; ?>
                    </ul>
            <?php endif; ?>
            <?php endif; ?>
            </li>
    <?php endforeach; ?>
    </ul>
<?php endif; ?>

您可以按照tutorial

进行操作