J'ai créé un module dans le dossier de code local dans notre espace de noms personnalisé. Le bloc n'est pas affiché sur le frontend, et en vérifiant le journal des exceptions, il s'avère que Magento regarde au mauvais endroit.Pourquoi Magento essaie-t-il d'appeler dans l'espace de noms Mage plutôt que dans mon espace de noms personnalisé?
exception ‘Mage_Core_Exception’ with message ‘Invalid block type: Mage_MyCompany_ForthcomingProducts_Block_List’ in /var/www/html/app/Mage.php:407
va de même aussi si je le préfixe exclure MyCompany_ lorsque vous appelez le bloc; il regarde toujours dans l'espace de noms Mage. J'ai cela dans un fichier appelé MyCompany_All.xml dans le dossier des modules, et les mises en page CMS j'ai ajouté fonctionnent très bien, donc Magento est certainement le chargement:
<?xml version="1.0"?>
<config>
<modules>
<MyCompany_CmsLayouts>
<codePool>local</codePool>
<active>true</active>
</MyCompany_CmsLayouts>
<MyCompany_ForthcomingProducts>
<codePool>local</codePool>
<active>true</active>
</MyCompany_ForthcomingProducts>
</modules>
</config>
Est-ce que quelqu'un a des idées quant à ce provoquant cela?
Ajouté: Le bloc est appelé par un bloc statique avec ce code modèle:
{{block type="MyCompany_ForthcomingProducts/List" template="forthcomingproducts/list.phtml"}}
Et le config.xml pour le bloc est:
<?xml version="1.0" encoding="utf-8"?>
<config>
<modules>
<MyCompany_ForthcomingProducts>
<version>0.9</version>
</MyCompany_ForthcomingProducts>
</modules>
<global>
<blocks>
<forthcomingproducts>
<class>MyCompany_ForthcomingProducts_Block</class>
</forthcomingproducts>
</blocks>
</global>
</config>
Je pense que le layout.xml ou un code où ce bloc est appelé est l'endroit approprié pour regarder. Pour diagnostiquer, je voudrais voir cela, et peut-être le config.xml pour le bloc en question. – Laizer
Merci beaucoup pour votre réponse, j'ai ajouté l'information à la question. –