Magento:编辑顶部导航子导航结构

时间:2013-02-26 12:58:10

标签: magento

我需要对标准Magento顶级导航中显示的子导航进行一些主要编辑。

我已经进入top.phtml并发现它在核心Mage代码中调用了一个函数,是否可以在调用之前在我的主题中运行一个文件,或者我是否必须创建一个完全自定义的导航/使用扩展程序?

2 个答案:

答案 0 :(得分:2)

您总是非常欢迎只需将design/frontend/[package]/[theme]/catalog/navigation/top.phtml模板替换为您自己的标记,然后您可以根据需要进行迭代。

Block类已经提供了一些基本方法,可用于构建导航菜单的方式,例如getStoreCategories()isCategoryActive()getCurrenetChildCategories()等。

或者,如Peter所述,您可以重写Block类来更改特定方法或包含您自己的方法,然后可以从模板文件中访问这些方法。

答案 1 :(得分:1)

覆盖Mage_Catalog_Block_Navigation

app/etc/modules/Yourmodule_Catalog.xml中的

<?xml version="1.0"?>
<config>
<modules>
    <Yourmodule_Catalog>
        <active>true</active>
        <codePool>local</codePool>
        <depends />
    </Yourmodule_Catalog>
</modules>
</config>
app/code/local/Yourmodule/Catalog/etc/config.xml中的

<?xml version="1.0"?>
<config>
<modules>
    <Yourmodule_Catalog>
        <version>0.1.0</version>
    </Yourmodule_Catalog>
</modules>

<global>
    <blocks>
        <catalog>
            <rewrite>
                <navigation>Yourmodule_Catalog_Block_Navigation</navigation>
            </rewrite>
        </catalog>
    </blocks>
</global>

app/code/local/Yourmodule/Catalog/Block/Navigation.php中的

<?php
class Yourmodule_Catalog_Block_Navigation extends Mage_Catalog_Block_Navigation
{
.... the methods you want to override...
}

就是这样。