【问题标题】:In Magento Layout XML files, what does as= represent in block declarations在 Magento Layout XML 文件中,as= 在块声明中表示什么
【发布时间】:2013-09-29 18:54:25
【问题描述】:

以我为例:

<block type="core/template" name="my.name" as="myName" template="path/to/template.phtml"/>

“as=myName”声明的用途是什么。 什么抽象类为布局处理定义了这些默认属性?

【问题讨论】:

    标签: magento


    【解决方案1】:

    这里我可以简要了解一下magento block xml标签

    name = 块的名称。它在页面中应该是唯一的。

    **as = 别名**。较小的名称形式。它在其父块中应该是唯一的。

    template = 此块附加到的模板文件(视图)。

    您可以使用 $this 来调用 this 内部块类型的方法。例如$this->getName()

    名称与示例:

    <reference name="left">
        <block type="block/blocktype1" name="first_block" template="template1.phtml">
           <block type="abc/abc" name="ty1" as="common" template="abc.phtml"/> 
        </block>
        <block type="block/blocktype1" name="second_block" template="template2.phtml">
           <block type="xyz/xyz" name="ty2" as="common" template="xyz.phtml"/>            
        </block>
    </reference>
    

    因此,您现在可以将块名称 ty1 from first_blockty2 from second_block 称为 $this-&gt;getChildHtml('common');,但是看到两个被调用的块将根据它们的调用父级而有所不同。

    对于细节类去扔这个

    Understanding Magento Block and Block Type

    希望这对你有帮助。

    【讨论】:

    • 我明白所有这些,但如果你想做类似的事情,你可以使用这个名字: 是它纯粹是一个别名?更容易识别的第二个名字?
    • 之前是标签以优先显示块。您可以在标签之前使用别名。请不要忘记接受我的回答。这对我和其他用户将来可以使用感到高兴。跨度>
    【解决方案2】:

    使用as时,可以在phtml模板上调用$this->getChildHtml("as_value")

    名称必须唯一,可用于块、

    例如(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"/>
    

    【讨论】:

      猜你喜欢
      • 2019-11-25
      • 1970-01-01
      • 2011-02-12
      • 2014-12-29
      • 2013-06-17
      • 2012-08-17
      • 1970-01-01
      • 2014-08-19
      • 2019-03-25
      相关资源
      最近更新 更多