何时使用“名称”并何时使用”为'
题
我发现在尝试使用 unsetChild
方法,有时我必须将“名称”属性和其他属性用作'。看来,如果正常添加一个块,则使用“ AS”,但是如果使用该块,则使用该块 append
方法,您可能必须使用“名称”。这个假设正确吗?
这背后的原因是什么,是否有一种标准方法来了解您应该使用的属性?
解决方案
块总是可以由 name
. 。别名(as
)用于简化块的长名,而唯一的范围与范围有所不同。 Name
在页面中必须是唯一的, alias
在父块中。
其他提示
当您使用时 作为, ,你可以打电话 $ this-> getChildHtml(“ as_value”) 在PHTML模板上。
这 姓名 必须是唯一的,可以用于 <参考> 块, <删除>, , ETC。
例如(catalog.xml):
<block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml">
<block type="catalog/product_view_media" name="product.info.media" as="media" template="catalog/product/view/media.phtml"/>
</block>
如果您打开目录/product/view.phtml,您会看到:
<div class="product-img-box">
<?php echo $this->getChildHtml('media') ?>
</div>
你看? AS =“媒体”,然后$ this-> getChildHtml('Media')...
没有人回答有关 unsetChild
然而。与 孩子们 一个街区 总是 请参阅别名的儿童块,这仅是父母所知,与名称不同,而不是全球唯一的。
但是,如果创建块而没有定义别名,则别名将默认为名称。
因此,简而言之,如果子块具有明确的别名,则必须使用别名。如果没有,请使用该名称。
别名由 as="..."
如果块是通过XML作为子块创建的,或者通过操作参数(如果它们被移动或动态地添加) append()
, insert()
或者 setChild()
.