Templates 覆盖magento核心管理模板
覆盖核心Magento管理模板的最佳方法是什么? 例如: app\design\adminhtml\default\default\template\page\header.phtml 我只想在右上角菜单上创建一个链接,而不需要直接修改它或重新创建整个模板。现在,我有一个自定义模块,该模块具有如下布局块:Templates 覆盖magento核心管理模板,templates,magento,layout,overriding,block,Templates,Magento,Layout,Overriding,Block,覆盖核心Magento管理模板的最佳方法是什么? 例如: app\design\adminhtml\default\default\template\page\header.phtml 我只想在右上角菜单上创建一个链接,而不需要直接修改它或重新创建整个模板。现在,我有一个自定义模块,该模块具有如下布局块: <reference name="header"> <action method="setTemplate"> <template>mynamespace_
<reference name="header">
<action method="setTemplate">
<template>mynamespace_mymodule/header.phtml</template>
</action>
</reference>
mynamespace\u mymodule/header.phtml
这很好,但我必须完全重新创建模板。有没有办法只添加链接而不重新创建整个模板 不幸的是,没有,如果您需要将其包含在容器div中,那么没有一种方法可以不复制整个模板。通常,模板会包含一些点,您可以通过执行诸如
$this->getChildHtml('before_body_close')
,或者更通用的$this->getChildHtml()
之类的操作来钩住这些点,但在这种情况下,没有此类调用。您可能会将一个新块作为标题块的同级,并尝试使用CSS对其进行定位,但这将非常棘手,而且很可能无法维护。不幸的是,如果您需要将其包含在容器div中,则无法在不复制整个模板的情况下进行定位。通常,模板会包含一些点,您可以通过执行诸如$this->getChildHtml('before_body_close')
,或者更通用的$this->getChildHtml()
之类的操作来钩住这些点,但在这种情况下,没有此类调用。您可能会将一个新块作为标题块的同级,并尝试使用CSS对其进行定位,但这将非常棘手,而且很可能无法维护。您还可以将adminhtml设置为具有基础和自定义版本(基于主题)并将默认内容复制到app/design/adminhtml/base/default/
。然后将要编辑的模板复制到app/design/adminhtml/your_-package/your_-theme/
,并在admin中应用主题。通过这种方式,您仍然可以复制它,但在imho中,您可以使用更加逻辑和整洁的方式
注意:您还必须将此应用于
skin/adminhtml
您还可以将adminhtml设置为具有基本和自定义版本(基于主题),并将默认内容复制到app/design/adminhtml/base/default/
。然后将要编辑的模板复制到app/design/adminhtml/your_-package/your_-theme/
,并在admin中应用主题。通过这种方式,您仍然可以复制它,但在imho中,您可以使用更加逻辑和整洁的方式
注意,您还必须将此应用于skin/adminhtml