最近通过更改核心文件回答了这个问题:
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
非常感谢艾伦给我“勇气”来正确地做到这一点......
最佳答案
使用事件、adminhtml 应用程序的 local.xml 或自定义模块布局 xml 文件向页面添加 Javascript block
添加原型(prototype) dom:loaded event listener到页面
使用 Prototype 的
$$
方法,在 dom 中搜索订单状态 HTML DOM 节点。如果可能,请在其中使用 ID 以确保您获得正确的节点。使用 Prototype 的
addClassName
方法将 css 类添加到 #3 中的节点。使用事件、adminhtml 应用程序的 local.xml 或自定义模块布局 xml 文件将 CSS 文件添加到页面。在此 CSS 文件中添加样式定义以获得所需的颜色。
关于Magento:如何覆盖管理js文件而不是在核心中编辑它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6574653/