Я написал новое расширение и пытаюсь создать файл настроек конфигурации в Magento Admin. Когда я запускаю браузер после очистки кеша, я получаю сообщение об ошибке, как показано ниже
Fatal error: Class 'Mage_GlobalSms_Helper_Data' not found in D:\wamp\www\project\app\Mage.php on line 547
В файле журнала ошибок system.log я нашел ошибку ниже:
2015-05-27T13:40:43+00:00 ERR (3): Warning: include(Mage\GlobalSms\Helper\Data.php): failed to open stream: No such file or directory in D:\wamp\www\project\lib\Varien\Autoload.php on line 93
2015-05-27T13:40:43+00:00 ERR (3): Warning: include(): Failed opening 'Mage\GlobalSms\Helper\Data.php' for inclusion (include_path='D:\wamp\www\project\app\code\local;D:\wamp\www\project\app\code\community;D:\wamp\www\project\app\code\core;D:\wamp\www\project\lib;.;C:\php\pear') in D:\wamp\www\project\lib\Varien\Autoload.php on line 93
Мое приложение \ etc \ modules \ file, как показано ниже:
<?xml version="1.0"?>
<config>
<modules>
<Php_GlobalSms>
<active>true</active>
<codePool>local</codePool>
<version>0.0.1</version>
</Php_GlobalSms>
</modules>
</config>
Мой config.xml как ниже:
<config>
<modules>
<Ucs_GlobalSms>
<version>0.0.1</version>
</Ucs_GlobalSms>
</modules>
<admin>
<routers>
<adminhtml>
<args>
<modules>
<ucs_globalsms before="Mage_Adminhtml">Ucs_GlobalSms_Adminhtml</ucs_globalsms>
</modules>
</args>
</adminhtml>
</routers>
</admin>
<global>
<helpers>
<globalsms>
<class>Ucs_GlobalSms_Helper</class>
</globalsms>
</helpers>
<models>
<custommodule>
<class>Ucs_GlobalSms_Model</class>
</custommodule>
</models>
<events>
<customer_register_success>
<observers>
<Ucs_GlobalSms_customer_register_success>
<type>singleton</type>
<class>Ucs_GlobalSms_Model_Observer</class>
<method>customerRegisterSuccess</method>
</Ucs_GlobalSms_customer_register_success>
</observers>
</customer_register_success>
</events>
</global>
Мой Помощник / Data.php как показано ниже:
<?php
class Php_GlobalSms_Helper_Data extends Mage_Core_Helper_Abstract {
}
Я могу найти много сообщений на SO о том, что Data.php отсутствует, но все есть, но я получаю ошибку
magento-1.9
бабочка
источник
источник
<webroot>/var/cache
?Ответы:
Ваша декларация помощников должна выглядеть так:
и вы должны вызвать своего помощника в коде так:
источник
config.xml
том, как вы используете помощникаВаше имя модуля в
module.xml
отличается отconfig.xml
.Я сам не уверен, что ты хочешь использовать,
Php_GlobalSms
илиUcs_GlobalSms
?источник
Если вы включили компиляцию (Система> Инструменты> Компиляция), вам необходимо отключить или перекомпилировать ее. Лучше всего отключить компиляцию при разработке.
источник
Вы должны определить свой помощник в config.xml
источник
Вы сказали, что создали параметр конфигурации для области администратора; в system.xml-файле я предполагаю, что у вас есть что-то вроде этого (вы должны иметь):
Здесь Magento пытается загрузить ваш помощник: он обрабатывает перевод, независимо от того, вызываете ли вы помощника в каком-либо из ваших файлов или нет. Другие ответы показывают правильный путь: обновите файл config.xml и скажите Magento, что помощник GlobalSms находится в вашем модуле.
источник
У меня такая же проблема. Я проверил мой config.xml и проверил мой макет xml:
источник