【问题标题】:Magento Custom Module Helper Not Found未找到 Magento 自定义模块助手
【发布时间】:2012-03-22 10:42:21
【问题描述】:

我正在尝试为我的模块创建系统配置。添加 system.xml 后,我得到了

致命错误:未找到“Mage_Training_Banners_Helper_Data”类

magento/app/code/local/Training/Banners/Helper/Data.php

<?php

class Training_Banners_Helper_Data extends Mage_Core_Helper_Abstract
{

}

config.xml

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

    <frontend>
        <routers>
            <banners>
                <use>standard</use>
                <args>
                    <module>Training_Banners</module>
                    <frontName>banners</frontName>
                </args>
            </banners>
        </routers>
        <layout>
            <updates>
                <banners> 
                    <file>banners.xml</file>
                </banners>
            </updates>
        </layout>   
    </frontend>
    <admin>
        <routers>
            <adminhtml>
                <args>
                    <modules>
                        <banners after="Mage_Adminhtml">Training_Banners_Adminhtml</banners>
                    </modules>
                </args>
            </adminhtml>
        </routers>
    </admin>

    <adminhtml>
        <layout>
            <updates>
                <banners>
                    <file>training_banners.xml</file>
                </banners>
            </updates>
        </layout>
    </adminhtml>

    <global>
        <blocks>
            <banners>
                <class>Training_Banners_Block</class>
            </banners>
        </blocks>

        <helpers>
            <banners>  
                <class>Training_Banners_Helper</class>
            </banners>
        </helpers>

        <models>
            <banners>
                <class>Training_Banners_Model</class>
                <resourceModel>banners_mysql4</resourceModel>
            </banners>
            <banners_mysql4>
                <class>Training_Banners_Model_Mysql4</class>
                <entities>
                    <manage>
                        <table>banners</table>
                    </manage>
                </entities>
            </banners_mysql4>
        </models>
        <resources>
            <banners_read>
                <connection>
                    <use>core_read</use>
                </connection>
            </banners_read>
            <banners_write>
                <connection>
                    <use>core_write</use>
                </connection>
            </banners_write>
        </resources>
    </global>
</config>

有人可以帮忙吗?

【问题讨论】:

  • 请发布更多代码和信息,以便我们为您提供帮助。例如。文件的路径、config.xml 的全部内容、Helper_Data 类的内容等。
  • @Simon:添加完整代码。
  • 请同时发布system.xml。 :-) 也许你在那里使用module="sometag" 作为翻译标签而不是module="banners"...
  • 我删除了 system.xml 文件。即使在 system->config 抛出此错误之后
  • 删除 system.xml 后,确保您的缓存已清除。你在代码中的某个地方调用这个助手吗?如果是的话,你是怎么做的(请粘贴代码)?请粘贴system.xml 文件内容。谢谢

标签: php magento


【解决方案1】:

当然,在您的模块中创建文件夹 Helper
然后在其中创建文件Data.php
文件内容应包含:

class Company_Module_Helper_Data extends Mage_Core_Helper_Abstract{}

这足以解决您的问题。
仅供参考:发生这种情况是因为 magento 正在尝试翻译标签的内容。使用模块助手的__() 方法处理翻译。

【讨论】:

  • Data.php 出现在 Helper 目录下。不知道为什么会出现这个错误!
  • 这可能是你的错字。检查配置、类名、文件夹名
【解决方案2】:

我使用“banners”组名作为另一个模块组名。所以发生了冲突。

【讨论】:

  • 感谢您的回复,这是一个非常模糊的错误。很高兴你明白了。
猜你喜欢
  • 1970-01-01
  • 2013-05-06
  • 2013-07-31
  • 2017-01-02
  • 1970-01-01
  • 2019-10-14
  • 1970-01-01
  • 2017-11-13
  • 1970-01-01
相关资源
最近更新 更多