<action method=”unsetChild”>
和之间有什么区别<remove name=""/>
?
这两个功能均用于从布局中删除块。
有人可以举例说明吗?
<action method=”unsetChild”>
和之间有什么区别<remove name=""/>
?
这两个功能均用于从布局中删除块。
有人可以举例说明吗?
Answers:
<remove name="" />
在的全局块范围内运行Mage_Core_Model_Layout
。它们被收集Mage_Core_Model_Layout::generateXml()
并用于防止实例化具有指定名称的块。此外,宣布对所有子块<remove />
编块将还没有被实例化。
<action method="" />
aka Mage_Core_Block_Abstract::unsetChild()
是一种块级方法,该方法从正在对其调用操作的父块实例中列出所指示的子块(通过别名,而不是通过name)。即使仍创建块实例,这通常会导致块从渲染的输出中“消失”。与::append()
或::insert()
方法结合使用,可用于执行“移动”。
alias
for子项设置为name
。👍–
<remove name="" />
,完成所有布局后,Magento将完全删除具有指定名称=“”的块,无论已将其添加到哪个布局句柄。使用这种方法不可能从一个位置删除一个块,然后将其添加到另一个位置
<action method="unsetChild">
仅在使用它的上下文中运行。创建unsetChild的目的是将现有块从一个位置移动到另一个位置。如果要从特定的布局手柄中删除特定的块,然后将其插入另一个位置或布局手柄,则需要使用此方法。