Pra*_*Max 1 php magento e-commerce
我正在创建一个自定义模块,我在产品视图页面(默认文件)中添加了一个按钮.我已将按钮代码插入以下文件中
app\design\frontend\base\default\template\catalog\product\view.phtml
Run Code Online (Sandbox Code Playgroud)
并且按钮显示并且运行良好.但每次更新Magento时,上面的文件都会被替换,因此我的代码被丢弃.有没有办法在我的自定义模块中修改或扩展或注入模板编码?我应该需要覆盖核心块或某些东西?
为模块提供布局文件:
...
<frontend>
<layout>
<updates>
<YOUR_MODULE>
<file>YOURMODULE.xml</file>
</YOUR_MODULE>
</updates>
</layout>
</frontend>
...
Run Code Online (Sandbox Code Playgroud)在基本主题的layout/YOURMODULE.xml
文件中:
<layout version="1.0">
<catalog_product_view>
<reference name="product.info">
<action method="setTemplate"><name>YOURMODULE/product/view.phtml</name></action>
</reference>
</catalog_product_view>
</layout>
Run Code Online (Sandbox Code Playgroud)将修改后的内容复制view.phtml
到新目录template/YOURMODULE/product/
template/catalog/product/view.phtml
.下载模块的任何人都可能希望对该模板进行自己的更改,因此您还应该包含有关哪个文件已更改以及在何处找到它的说明.由于view.phtml
经常被更改者和其他模块所改变,因此更改其中一个子模板会更好一点 - 哪一个取决于按钮的位置.
作为奖励,有一个块extrahint
在类型的价格之后调用core/text_list
- 它没有模板,因此在使用模板路径提示时通常可能会错过它.您可以安全地添加任意数量的模板,而无需更改任何现有模板:
<layout version="1.0">
<catalog_product_view>
<reference name="product.info.extrahint">
<block type="core/template" name="YOUR.CUSTOM.BLOCK" template="YOUR/CUSTOM/TEMPLATE.phtml" />
</reference>
</catalog_product_view>
</layout>
Run Code Online (Sandbox Code Playgroud)
只有在价格对您有用之后才有用.可以安全附加的其他块是选项和容器区域,但它们仅针对具有选项的产品显示.