Eu escrevi uma nova extensão e tentando criar um arquivo de configuração no Magento Admin. Quando eu corro no navegador depois de limpar o cache, recebi o erro como abaixo
Fatal error: Class 'Mage_GlobalSms_Helper_Data' not found in D:\wamp\www\project\app\Mage.php on line 547
No arquivo de log de erro system.log, encontrei o erro abaixo:
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
Meu aplicativo \ etc \ modules \ file como abaixo:
<?xml version="1.0"?>
<config>
<modules>
<Php_GlobalSms>
<active>true</active>
<codePool>local</codePool>
<version>0.0.1</version>
</Php_GlobalSms>
</modules>
</config>
Meu config.xml como abaixo:
<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>
My Helper / Data.php como abaixo:
<?php
class Php_GlobalSms_Helper_Data extends Mage_Core_Helper_Abstract {
}
Posso encontrar muitas postagens no SO dizendo que o Data.php está ausente, mas está tudo lá, ainda estou recebendo erro
magento-1.9
Borboleta
fonte
fonte
<webroot>/var/cache
?Respostas:
Sua declaração de ajudantes deve ficar assim:
e você deve chamar seu ajudante no código da seguinte maneira:
fonte
config.xml
e a maneira como você está usando o ajudanteO nome do seu módulo
module.xml
é diferente emconfig.xml
.Não tenho certeza do que você deseja usar,
Php_GlobalSms
ouUcs_GlobalSms
?fonte
Se você habilitar a compilação (Sistema> Ferramentas> Compilação), será necessário desabilitar ou compilar novamente. É melhor que você desative a Compilação ao desenvolver.
fonte
Você precisa definir seu auxiliar no config.xml
fonte
Você disse que criou uma configuração para a área de administração; no arquivo system.xml, presumo que você tenha algo parecido com isto (você deveria ter):
É aqui que o Magento tenta carregar seu ajudante: ele lida com a tradução, independentemente do fato de você chamá-lo em algum dos seus arquivos ou não. As outras respostas informam da maneira correta: atualize seu arquivo config.xml e informe ao Magento que o GlobalSms-helper reside em seu módulo.
fonte
Eu tenho o mesmo problema. Eu tenho o meu config.xml e o meu layout xml:
fonte