Magento 在控制器中添加新块,并将其设置在第一个位置

Magento 在控制器中添加新块,并将其设置在第一个位置,magento,position,block,Magento,Position,Block,我在我的控制器中添加了一个新块,这是有效的 $this->loadLayout(); $cmsBlock = $this->getLayout()->createBlock('cms/block')->setBlockId('cms_block_fail'); $this->getLayout()->getBlock('content')->append($cmsBlock); $this->renderLayout(); 在Layout.xml

我在我的控制器中添加了一个新块,这是有效的

$this->loadLayout();
$cmsBlock = $this->getLayout()->createBlock('cms/block')->setBlockId('cms_block_fail');
$this->getLayout()->getBlock('content')->append($cmsBlock);
$this->renderLayout();
在Layout.xml中,我在“content”结构中设置了一个其他contentblock

<reference name="content">
    <block type="contactus/form" name="contact_us" template="contactus/contactus.phtml"/> 
</reference>

我希望CMS块在
联系我们
块之前。在
Layout.xml
中,我可以使用前后的参数。如果我在=“-”之后写入
,块将设置在结构块“内容”的最后一个位置,对吗?这是行不通的。如何在控制器中使用
php
设置此参数?或者其他想法?

$this->getLayout()->getBlock('content')->insert($cmsBlock,'contact_us')
应使
$cmsBlock
数组拼接()
插入
内容
块的
\U SORTEDCHILDRENS()
块前面的数组

逻辑有点深奥,但您可以在中找到有关其工作原理的更多信息-注意
append($block)
本质上是
insert($block',true)
的别名