Web services Magento类别导航

Web services Magento类别导航,web-services,magento,web,e-commerce,magento-1.7,Web Services,Magento,Web,E Commerce,Magento 1.7,我有一个Magento网站,其类别结构如下(大写字母为类别,小写字母为产品): 我想将我的导航菜单显示为按大小、按集合和按设计购物。我不希望导航从服装级别开始。有没有办法做到这一点 注意:根据Magento设计,根目录不能显示在导航菜单中。导航菜单从第二级的类别开始,即本例中的服装 看看navigation.php,您可以更改核心功能,但可以使用带有rewrite的模块(永远不要直接更改核心文件!)。当我需要自定义导航功能时,我总是从那里开始 编辑,所有困难我经常使用这种方法,我建议尽可能避免

我有一个Magento网站,其类别结构如下(大写字母为类别,小写字母为产品):

我想将我的导航菜单显示为按大小、按集合和按设计购物。我不希望导航从服装级别开始。有没有办法做到这一点


注意:根据Magento设计,根目录不能显示在导航菜单中。导航菜单从第二级的类别开始,即本例中的服装

看看navigation.php,您可以更改核心功能,但可以使用带有rewrite的模块(永远不要直接更改核心文件!)。当我需要自定义导航功能时,我总是从那里开始


编辑,所有困难我经常使用这种方法,我建议尽可能避免重写,我认为在这种情况下不太可能困难,因为我们正在讨论将lvl 2类别显示为主导航

看看navigation.php,您可以通过使用带有重写的模块来更改核心功能(永远不要直接修改corefile!)当我需要自定义导航功能时,我总是从那里开始


编辑,alltough我经常使用这种方法,我建议尽量避免重写,我认为在这种情况下不太可能,因为我们讨论的是将2级分类显示为主导航

如果你真的想使用design Root->Apparels->Shop By*你可以通过一次覆盖和修改来完成

xml-这显然是一个高度简化的文件,您需要为该文件提供一个帮助器重写

<?xml version="1.0"?>
<config>
    <helpers>
        <catalog>
            <rewrite>
                <category>Namespace_Module_Helper_Catalog_Category</category>
            </rewrite>
        </catalog>
    </helpers>
</config>

如果您真的想使用design Root->Apparels->Shop By*,只需一次覆盖和修改即可

xml-这显然是一个高度简化的文件,您需要为该文件提供一个帮助器重写

<?xml version="1.0"?>
<config>
    <helpers>
        <catalog>
            <rewrite>
                <category>Namespace_Module_Helper_Catalog_Category</category>
            </rewrite>
        </catalog>
    </helpers>
</config>

APPARELS是该级别的唯一类别吗?APPARELS是该级别的唯一类别吗?当category helper只需要一个自定义导航时,为什么要调整它?这将改变对该helper的所有调用…他指定他希望将导航基于第三级类别而不是第二级类别。这就实现了。The Borden现在留在主题上,从此点而不是根类别呈现菜单。当他只需要自定义导航时,为什么要调整类别帮助器?这将改变对此帮助器的所有调用…他指定他希望将导航基于第三级类别而不是第二级类别。此Accomple现在,从这一点而不是从根类别呈现菜单的负担就落在了主题身上。
class Namespace_Module_Helper_Catalog_Category extends Mage_Catalog_Helper_Category {
    public function getStoreCategories($sorted=false, $asCollection=false, $toLoad=true)
    {
        $parent     = Mage::app()->getStore()->getRootCategoryId();
        $cacheKey   = sprintf('%d-%d-%d-%d', $parent, $sorted, $asCollection, $toLoad);
        if (isset($this->_storeCategories[$cacheKey])) {
            return $this->_storeCategories[$cacheKey];
        }

        /**
         * Check if parent node of the store still exists
         */
        $category = Mage::getModel('catalog/category');
        /* @var $category Mage_Catalog_Model_Category */
        if (!$category->checkId($parent)) {
            if ($asCollection) {
                return new Varien_Data_Collection();
            }
            return array();
        }

        /* Change ian on 1/4/13 at 11:16 AM - Description: Here we capture the id of first child for use as the 'root' */
        $category->load($parent);
        /** @var $collection Mage_Catalog_Model_Resource_Category_Collection */
        $collection = $category->getChildrenCategories();
        if (is_array($collection)) {
            $category = array_shift($collection); //get the first category in the array.  Unknown key.
            $parent = $category->getId();
        } else {
            $parent = $collection->getFirstItem()->getId();
        }

        $recursionLevel  = max(0, (int) Mage::app()->getStore()->getConfig('catalog/navigation/max_depth'));
        $storeCategories = $category->getCategories($parent, $recursionLevel, $sorted, $asCollection, $toLoad);

        $this->_storeCategories[$cacheKey] = $storeCategories;
        return $storeCategories;
    }
}