Busqué en la web y no pude encontrar cómo hacerlo.
Quiero agregar un bloque estático que he creado en admin antes a una página cms. Esto funciona usando cualquiera de estas líneas:
{{block type="cms/block" block_id="my_block_id"}}
{{block type="cms/block" block_id="my_block_id" template="cms/content.phtml"}}
Ahora quiero usar una plantilla personalizada, es decir:
{{block type="cms/block" block_id="my_block_id" template="modulename/custom-template.phtml"}}
Cuando lo pongo en la página cms de esta manera, se muestra el bloque, pero cms/content.phtml
se usa la etiqueta "plantilla" que se ignora por completo .
LO QUE INTENTÉ
Intenté extender la clase Mage_Block_Cms_Block y agregar setTemplate($this->getTemplate());
a _toHtml()
-function. El efecto es el mismo que el anterior: cms/content.phtml
se utiliza.
Traté de extender la clase Mage_Core_Block_Template; Por supuesto, puedo configurar una plantilla aquí, pero tengo problemas para obtener el bloque estático. No puedo encontrar cómo obtener el bloque por id de bloque.
DE QUÉ SE TRATA ESTA PREGUNTA / NO SOBRE
Yo sé cómo hacer esto con PHP.
Sé cómo hacer esto con archivos XML.
Es crucial para esta pregunta que los bloques se puedan administrar en el backend.
Ejecuto Magento CE 1.7.0.0.
¡Gracias por tu tiempo!
fuente
¿Has probado con
cms/widget_block
? Este bloque se extiende desdeMage_Core_Model_Template
, por lo que podría ser posible hacer lo que está tratando de hacer.fuente