我想了解Magento Blocks,因此我阅读了Mage_Core_Block_Abstract的Magento 1.5代码。
insert($ block ,,, $ alias)方法 首先调用setChild($ alias,$ block)方法,该方法构建一个_children数组(value = $ block,key = $ alias), 然后构建一个_sortedChildren数组(value = $ name,key = number)。
我无法理解的是unsetChild($ alias)方法在取消设置_children [$ alias]项后...尝试通过array_search($ alias,_sortedChildren)查找相应的_sortedChildren项...嗯,_sortedChildren的值是阻止名称,而不是别名!
unsetChild是否与别名不等于其名字的孩子一起工作?
答案 0 :(得分:3)
unsetChild
以将现有块从一个地方移动到另一个地方。您可以从其默认位置取消设置块,并在其他位置插入具有相同名称的块(您不能使用remove
方法执行此操作,因为它将完全删除块。)