正确覆盖Magento中的管理模板文件

时间:2012-04-18 09:33:10

标签: magento

我想正确覆盖此管理模板文件app/design/adminhtml/default/default/template/sales/order/create/form/address.phtml

根据我的found,正确的方法是在新模块中创建布局文件,在模块目录中设置模板路径并使用引用节点引用该模板文件。但我不知道该怎么做。

到目前为止,我不明白如何使用xml控制布局。有人可以说明如何实际做到这一点吗?

1 个答案:

答案 0 :(得分:2)

您应该创建自己的模块,然后可以创建新模板。

如果你想强迫,你需要setTemplate()将你的phtml路径作为一个参数。 $this->getLayout()->createBlock('my_module/blockname')->setTemplate('my_module/template.phtml');

请记住,这里的两个斜线符号是不同的。

createBlock()适用于某个区块,因此位于/app/code/<codePool>/My/Module/Blocks/<blockname.php>

setTemplate()用于模板,因此将在/app/design/<area>/default/default/template/template.phtml

您的<area>将是/ adminhtml,因为您在管理员后端。

为了使模板正常工作,您需要创建一个新模块并扩展使用此模板的adminhtml块文件。您必须从layout.xml中找到该块,然后您可以扩展Block并指定一个新模板。

我就是这样做的,但我也很难在管理HTML模块中覆盖它。