当我尝试转到前端的用户个人资料页面时,我不断收到此消息。有人可以帮我找到解决方案。我对Magento很新。
致命错误:Class' Mage_Profile_Helper_Data'在第546行的/home/.../public_html/store/app/Mage.php中找不到
另外,我认为这最近有效,但我只对主题进行了一些css更改,所以不确定我怎么能打破这个。
我还从管理面板重新编译和禁用了编译。
更新
我在Data.php中找到了这个:
class MYSITE_Profile_Helper_Data extends Mage_Core_Helper_Abstract{
public function getProfilesUrl(){
return Mage::getUrl('profile/profile/index');
}
}
我在app / etc / modules / MYSITE_Profile.xml
中找到了这个<config>
<modules>
<MYSITE_Profile>
<active>true</active>
<codePool>local</codePool>
<depends>
<Mage_Core />
</depends>
</MYSITE_Profile>
</modules>
</config>
答案 0 :(得分:4)
在这种情况下,您正在处理自定义模块,因为没有Mage_Profile
模块。通常,“缺少数据助手”问题是模块开发人员指定翻译字符串并且无法提供适当类的结果。
当要求Magento通过其工厂方法实例化一个辅助(或块或模型)类时,它接受参数(在这种情况下为profile
)并尝试将其解析为特定的Xpath节点。如果应用程序没有找到此节点,它将假定参数是核心的一部分,因此将在mage_
之前添加,添加类类型(helper
),并附加类ID(帮助者是data
)。有关详细信息,请参阅Mage_Core_Model_Config::getGroupedClassName()
。
您需要在 app/code/community/
, app/code/local/
和 app/design/frontend/
中搜索XML文件对于字符串"profile"
(包括双引号)。这是此问题最常见的向量。
也可以通过几种工厂方法实例化助手(不幸的是)。通过为字符串.php
或.phtml
添加 ('profile')
和 ('profile/data')
文件,可以发现这些内容。
最终,您正在寻找一个自定义模块,您需要为帮助者配置profile
类组。这将是例如 The/Module/etc/config.xml
以及您要创建/添加的内容如下:
<global>
<helpers>
<profile><!-- class group -->
<class>The_Module_Helper</class><!-- class prefix -->
</profile>
</helpers>
</global>
然后您只需定义The_Module_Helper_Data
类,如下所示(例如 The/Module/Helper/Data.php
:
<?php
class The_Module_Helper_Data extends Mage_Core_Helper_Abstract
{
}
执行此操作后,您的应用程序应该可以正常工作,您应该限制原始开发人员: - )
答案 1 :(得分:2)
你应该在profile模块的helper文件夹中创建一个名为data.php的文件
。这就是为什么你应该总是在你的扩展中包含数据助手。所以app/code/local/MYSITE/Helper/Data.php
class Mage_Profile_Helper_Data extends Mage_Core_Helper_Abstract
{
}
和
<global>
<helpers>
<profile>
<class>MYSITE_Profile_Helper</class>
</profile>
</helpers>
</global>
<{1>}中的应该足够了。
答案 2 :(得分:0)
此错误是由autoloader.php文件引起的。要解决它,请不要使用&#34; _&#34;在文件名中的任何地方,特别是在config.xml中,它将被&#34; /&#34;替换。并抛出这样的错误。
例: giftcard_confirm.html
Insted使用: giftcardconfirm.html