J'ai recherché le Web et n'ai pas pu trouver comment faire ceci.
Je veux ajouter un bloc statique que j'ai déjà créé dans admin à une page cms. Cela fonctionne en utilisant l'une de ces lignes:
{{block type="cms/block" block_id="my_block_id"}}
{{block type="cms/block" block_id="my_block_id" template="cms/content.phtml"}}
Maintenant, je veux utiliser un modèle personnalisé, c'est-à-dire:
{{block type="cms/block" block_id="my_block_id" template="modulename/custom-template.phtml"}}
Quand je le mets dans la page cms comme ceci, le bloc est affiché, mais le "template" -tag est complètement ignoré - cms/content.phtml
est utilisé.
CE QUE
J'AI ESSAYÉ J'ai essayé d'étendre la classe Mage_Block_Cms_Block et de l'ajouter setTemplate($this->getTemplate());
à _toHtml()
-function. L'effet est le même que ci-dessus - cms/content.phtml
est utilisé.
J'ai essayé d'étendre la classe Mage_Core_Block_Template; bien sûr, je peux définir un modèle ici, mais j'ai des problèmes pour obtenir le bloc statique. Je ne trouve pas comment obtenir le bloc par block-id.
QU'EST-CE QUE CETTE QUESTION EST / PAS SUR
Je sais comment faire avec PHP.
Je sais comment faire cela avec des fichiers XML.
Il est crucial pour cette question que les blocs puissent être gérés dans le backend.
J'exécute Magento CE 1.7.0.0.
Merci pour votre temps!
la source
Avez-vous essayé avec
cms/widget_block
? Ce bloc s'étend deMage_Core_Model_Template
, il peut donc être possible de faire ce que vous essayez de faire.la source