我正在尝试在Magento中创建自定义帮助程序模块,但是当我从页面调用它时出现以下错误:
Warning: include(Mage/SEO/Helper/Data.php) [function.include]: failed to open stream: No such file or directory in /home/strailco/1stclassholidays.com/html/lib/Varien/Autoload.php on line 93
从模板我使用以下内容来调用帮助程序模块:
<?php echo Mage::helper('SEO')->getFullProductUrl($product); ?>
辅助模块设置在:
下/app/code/local/SEO/Fullurl/Helper/Data.php
/app/code/local/SEO/Fullurl/etc/config.xml
Data.php调用函数:
<?php
class getFullProductUrl {
public function getFullProductUrl( $product )
{
}
我的 config.xml 设置如下:
<?xml version="1.0"?>
<config>
<global>
<helpers>
<SEO>
<class>getFullProductUrl</class>
</SEO>
</helpers>
</global>
</config>
我认为问题在于我设置config.xml的方式,但我正在努力找出正确的方法。
我会非常感谢你能给予的任何帮助。我已经在这方面工作了几天但是无法让它发挥作用。
非常感谢
杰森答案 0 :(得分:21)
你的第一个问题是config.xml。你必须告诉Magento你正在使用哪个班级。
...Other Stuff...
<global>
...Other Stuff...
<helpers>
<SEO>
<class>SEO_Fullurl_Helper</class>
</SEO>
</helpers>
...Other Stuff...
</global>
...Other Stuff...
然后你需要app/code/local/SEO/Fullurl/Helper/Data.php
中的帮助器,如下所示:
class SEO_Fullurl_Helper_Data extends Mage_Core_Helper_Abstract
{
function getFullProductUrl( $product )
{
}
}
然后你可以echo Mage::helper('SEO')->getFullProductUrl($product);
答案 1 :(得分:1)
我错过了将模块添加到app / etc / modules / SEO_Fullurl.xml的步骤
<?xml version="1.0"?>
<config>
<modules>
<SEO_Fullurl>
<active>true</active>
<codePool>local</codePool>
</SEO_Fullurl>
</modules>
</config>
我希望这有助于某人,非常容易犯错误。