Magento:我如何覆盖管理js文件而不是在核心中编辑它?

时间:2011-07-04 17:52:22

标签: magento

最近通过更改核心文件回答了这个问题:

Approach on changing row color on orders grid in admin

有一个文件需要更新才能回答这个问题:js/mage/adminhtml/grid.js

我想知道的是如何正确地执行此操作,即无需编辑核心文件。

修改

这是有用的:

app/design/adminhtml/default/default/layout/local.xml中的

<?xml version="1.0"?>
<layout version="0.1.0">
  <default>
    <reference name="head">
        <action method="removeItem"><type>js</type><name>mage/adminhtml/grid.js</name></action>
        <action method="addItem"><type>js</type><name>colors/adminhtml/grid.js</name></action> 
    </reference>
  </default>
</layout>

然后我在js/colors/adminhtml/grid.js

中放入一个新目录+子目录和文件

非常感谢艾伦给予我'勇气'来正确地做到这一点......

1 个答案:

答案 0 :(得分:5)

  1. 使用事件,adminhtml应用程序的local.xml或自定义模块布局xml文件向页面添加Javascript块

  2. 将原型dom:loaded event listener添加到页面

  3. 使用Prototype的$$方法,在dom中搜索订单状态HTML DOM节点。如果可能,请在其中使用ID以确保您获得正确的节点。

  4. 使用Prototype的addClassName方法将css类添加到#3的节点中。

  5. 使用事件,adminhtml应用程序的local.xml或自定义模块布局xml文件向页面添加CSS文件。在此CSS文件中添加样式定义以获取所需的颜色。