Tengo un problema en el que parece que no puedo agregar un bloque secundario en un archivo XML de diseño. ¿Qué estoy haciendo mal mylayout.xml
porque no puedo cargar abc
? Tengo los siguientes archivos.
onestepcheckout.xml
<onestepcheckout_index_index>
...
<reference name="content">
<block type="onestepcheckout/checkout" name="onestepcheckout.checkout" template="onestepcheckout/checkout.phtml">
...
<!-- this child block can be loaded -->
<block type="block/class" template="path/to/template/template.phtml" name="qwe" as="qwe" />
...
</block>
</reference>
...
</onestepcheckout_index_index>
mylayout.xml
<onestepcheckout_index_index>
<reference name="onestepcheckout.checkout">
<!-- this child block can not be loaded -->
<block type="block/class" template="path/to/template/template.phtml" name="abc" as="abc" />
</reference>
</onestepcheckout_index_index>
checkout.phtml
...
<?php echo $this->getChildHtml('abc') // doesn't work ?>
<?php echo $this->getChildHtml('qwer') // works ?>
...
fuente
my layout.xml
que usan el mismo método, y todas funcionan.onestepcheckout_index_index
se carga después de la mía. Por lo tanto, mi actualización de la disposición se refería a un mango que aún no existe ..Si desea agregar un nuevo bloque, debe hacer referencia a bloques estructurales, no a bloques de contenido. Pruebe algo como esto en su lugar:
fuente
content
carga mi bloque, pero no puedo controlar dónde se coloca el bloque si me refiero a `content.<?php echo $this->getChildHtml('abc') ?>
content
coloca el bloque automáticamente yecho $this->getChildHtml('abc')
no tiene ningún efecto. Corrígeme si estoy equivocado.