在Magento中调用辅助类

Jas*_*ard 9 php magento helpers e-commerce

我正在尝试在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
Run Code Online (Sandbox Code Playgroud)

从模板我使用以下来调用帮助程序模块:

<?php echo Mage::helper('SEO')->getFullProductUrl($product); ?>
Run Code Online (Sandbox Code Playgroud)

辅助模块设置在:

/app/code/local/SEO/Fullurl/Helper/Data.php
/app/code/local/SEO/Fullurl/etc/config.xml
Run Code Online (Sandbox Code Playgroud)

Data.php调用函数:

<?php 

class getFullProductUrl {

public function getFullProductUrl( $product )
{
}
Run Code Online (Sandbox Code Playgroud)

我的config.xml设置如下:

<?xml version="1.0"?>
<config>
     <global>
        <helpers>
        <SEO>
        <class>getFullProductUrl</class>
        </SEO>
        </helpers>
   </global>
</config>
Run Code Online (Sandbox Code Playgroud)

我认为问题是我设置config.xml的方式,但我正在努力找出正确的方法.

我会非常感谢你能给予的任何帮助.我已经在这方面工作了几天但是无法让它工作.

非常感谢

贾森

Max*_*Max 21

你的第一个问题是config.xml.你必须告诉Magento你正在使用哪个班级.

...Other Stuff...
<global>
  ...Other Stuff...
  <helpers>
    <SEO>
      <class>SEO_Fullurl_Helper</class>
    </SEO>
   </helpers>
   ...Other Stuff...
</global>
...Other Stuff...
Run Code Online (Sandbox Code Playgroud)

然后你需要一个Helper app/code/local/SEO/Fullurl/Helper/Data.php,看起来像这样:

class SEO_Fullurl_Helper_Data extends Mage_Core_Helper_Abstract
{

    function getFullProductUrl( $product )
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

那你可以做 echo Mage::helper('SEO')->getFullProductUrl($product);