Magento:如何编写自己的目录导航渲染功能?

Ant*_*ony 3 magento magento-1.5

默认情况下,函数Mage_Catalog_Block_Navigation-> renderCategoriesMenuHtml呈现它.现在我想改变目录导航渲染的方式.

那我该怎么办?

1)写自己的模块? - 然后我必须从类别模块中复制相同的文件.

2)在模板中创建自己的逻辑? - 这是不正确的.模板本身没有逻辑.

3)那么哪些?

Ale*_*lex 5

您可以创建一个自己的模块并重写Block类,如下所述:http: //www.exploremagento.com/magento/override-a-magento-core-block-class.php

etc/config.xml你的模块将包含这样的事情:

<?xml version="1.0"?>
    <config>
        <global>
            <blocks>
                <catalog>
                    <rewrite>
                        <navigation>YourModule_Block_Catalog_Navigation</navigation>
                    </rewrite>
                </catalog>
           </blocks>
        </global>
    </config>
Run Code Online (Sandbox Code Playgroud)

在你的YourModule/Block/Catalog/Navigation.php:

class YourModule_Block_Catalog_Navigation extends Mage_Catalog_Block_Navigation
{

    public function renderCategoriesMenuHtml() {
    // your logic
    // you might call
         $parentResult = parent::renderCategoriesMenuHtml();
    }
}
Run Code Online (Sandbox Code Playgroud)