Estou com um problema no qual não consigo adicionar um bloco filho em um arquivo XML de layout. O que estou fazendo de errado por mylayout.xml
não conseguir carregar abc
? Eu tenho os seguintes arquivos.
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 ?>
...
fonte
my layout.xml
que usam o mesmo método, e todas elas funcionam.onestepcheckout_index_index
é carregada é carregada após a minha. Portanto, a minha atualização de layout estava se referindo a um identificador que ainda não existe ..Se você deseja adicionar um novo bloco, deve referenciar blocos estruturais, não blocos de conteúdo. Experimente algo assim:
fonte
content
carregar meu bloco, mas não posso controlar onde o bloco será colocado se me referir ao `conteúdo.<?php echo $this->getChildHtml('abc') ?>
content
coloca o bloco automaticamente eecho $this->getChildHtml('abc')
não tem efeito. Corrija-me se eu estiver errado.