php – Magento布局用另一个块替换块
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – Magento布局用另一个块替换块,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2648字,纯文字阅读大概需要4分钟。
内容图文
![php – Magento布局用另一个块替换块](/upload/InfoBanner/zyjiaocheng/786/76ca3eea956b4493a93addea237c7cbb.jpg)
我想用一个自定义类型块替换标准布局catalog.xml中的块.
<block type="catalog/product_view_attributes" name="product.attributes" as="additional" template="catalog/product/view/attributes.phtml">
<action method="addToParentGroup"><group>detailed_info</group></action>
<action method="setTitle" translate="value"><value>Additional Information</value></action>
</block>
我想用下面我自己的自定义块类型替换上面的标准,但使用相同的“名称”.
<block type="attributesasgroup/groupview" name="product.attributes" as="additional" template="webguys/attributesasgroup/groupview.phtml">
<action method="addToParentGroup"><group>detailed_info</group></action>
<action method="setTitle" translate="value"><value>Additional Information</value></action>
</block>
有人可以告诉我最好的方法吗?我不知道要使用的XML操作和方法.我需要删除上一个块吗? unsetChild?如果我添加一个具有相同“名称”和相同父级的块,将覆盖现有的具有相同名称的块吗?
解决方法:
我会在这里经历你们的每一个疑问.
1.我是否可以用我的自定义块替换默认块,如上所示?
当然可以.您可以使用自己的块而不是默认块与上面的代码
2.最好的方法是什么?
为此,我更喜欢使用local.xml. local.xml是一个特殊的布局文件,最终将由Magento处理.也就是说,在查询了所有其他布局更新文件之后,通过此文件指定的布局更新将最终考虑并应用.所以这是改变任何布局变化的简单方法.因此,请在主题的布局目录中包含此文件,并指定布局更改.
文件:app / design / frontend /< package> /< theme> /layout/local.xml
<catalog_product_view>
<remove name="product.attributes" />
<reference name="content">
<block type="attributesasgroup/groupview" name="product.attributes" as="additional" template="webguys/attributesasgroup/groupview.phtml">
<action method="addToParentGroup"><group>detailed_info</group></action>
<action method="setTitle" translate="value"><value>Additional Information</value></action>
</block>
</reference>
</catalog_product_view>
我们的local.xml保存的布局非常简单.首先,它从布局结构中删除默认块.为了使用它,我们使用了删除节点.然后我们将自己的块添加到内容部分.
这里重要的是你的块应该在后端定义.如果没有定义,Magento将不会理解你引用它的哪个块,因此,magneto不会渲染块内的内容.所以确保它在后端定义.在上面的例子中,为了正确处理你的块,Magento需要在app / code / local / Namespace / Modulename / Block / Groupview.php(其中Namespace_Modulename代表你的自定义模块名称)中定义Namespace_Modulename_Block_Groupview.
3.如果我添加一个具有相同“名称”和相同父级的块,将覆盖现有的具有相同名称的块吗?
当然,您可以给出块默认块的名称.在magento中,每个块都应该有一个唯一的名称.为了遵守此规则,我们需要先删除默认块.这将允许我们在我们自己的块中使用该块名称.否则Magento会表现得很糟糕.
注意:有两个操作适用于您的块.它们是addToParentGroup和setTitle.第一个将您的块设置为detailed_info组,第二个用于设置块的标题.
内容总结
以上是互联网集市为您收集整理的php – Magento布局用另一个块替换块全部内容,希望文章能够帮你解决php – Magento布局用另一个块替换块所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。