尝试调试我的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();
?>
期待它会调用我的自定义助手方法,但它没有,我在这里忽略了什么?谢谢!
编辑:是否还有一种从静态块调用助手的简单方法?答案 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