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

标签 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. 使用事件、adminhtml 应用程序的 local.xml 或自定义模块布局 xml 文件向页面添加 Javascript block

  2. 添加原型(prototype) dom:loaded event listener到页面

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

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

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

关于Magento:如何覆盖管理js文件而不是在核心中编辑它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6574653/

相关文章:

php - Magento 运输方式加载速度

php - Magento:获取用户选择的国家/地区

forms - $this->getRequest()->getPost() 在magento后端表单提交中返回空数组

Magento "Flush Cache Storage"

java - 是否可以获取 magento 购物车摘要(总计和#items)以供外部使用?

php - mysql_real_escape_string 返回空白的奇怪问题

mysql - magento 订单导出时出现相同 ID 错误

php - Magento,使用 SQL 以编程方式将类别添加到脚本中的产品

css - Magento 子主题被类别页面上的自定义主题覆盖

Magento - 创建新的客户属性