Magento Custom Helper不工作,为什么?

时间:2015-03-07 16:22:51

标签: magento layout module helper

尝试调试我的Magento自定义助手(使用1.9CE btw) Mag 是我的自定义模块的名称。

/code/local/Mag/Layout/etc/config.xml

<?xml version="1.0"?>
<config>
    <modules>
        <Mag_Layout>
            <version>1.0</version>
        </Mag_Layout>
    </modules>
    <global>
        <page>
            <layouts>
                <Mag_HomeLayout translate="label">
                    <label>Static ( Menu Left )</label>
                    <template>page/static-left.phtml</template>
                    <layout_handle>Static </layout_handle>
                </Mag_HomeLayout>
            </layouts>
        </page>
        <helpers>
            <nav>
                Mag_Nav_Helper
            </nav>
        </helpers>
    </global>
</config>

/code/local/Mag/Nav/Data.php

<?php

class Mag_Nav_Helper_Data extends Mage_Core_Helper_Abstract
{
    // Navigation helper
    public function getNavigation()
    {
        echo "here"; exit;
        echo "FOUND". $url;
        exit;
    }
}

然后在任何布局中我试图称之为: 像这样:

<?php

$helper = Mage::helper('nav');
$helper->getNavigation();
?>

期待它会调用我的自定义助手方法,但它没有,我在这里忽略了什么?谢谢!

编辑:是否还有一种从静态块调用助手的简单方法?

1 个答案:

答案 0 :(得分:1)

可能是拼写错误/命名约定问题。 我会将模块中的所有名称统一起来:

<?xml version="1.0"?>
<config>
    <modules>
        <Mag_Nav>
            <version>0.1.0</version>
        </Mag_Nav>
    </modules>
    <global>
        <helpers>
            <mag_nav>
                <class>Mag_Nav_Helper</class>
            </mag_nav>
        </helpers>
    </global>
</config>

用法:

$oHelper= Mage::helper( 'mag_nav' );

不要忘记编辑您的app / etc / local / modules / Mag_Nav.xml