我有一些关于修改Magento管理部分的一般性问题,非常感谢让他们回答.我是Magento的新手所以请耐心等待.
我的目标是将一个带有产品属性(例如"大小")的新列添加到该部分的"类别产品"表中Catalog -> Manage Cateories
(参见下面的屏幕截图).
有很少的Magento开发经验,我不太清楚从哪里开始.我查看了Grid.php
目录下的一些文件adminhtml
,虽然我看到了很多类似的语句addColumn(...)
,但我不确定我在新属性列中的位置.
另外,我假设不是直接修改任何核心文件,而是将它们复制到local
文件夹下的相同路径并编辑或以某种方式扩展它们?我是否必须编辑任何配置文件或执行其他操作才能反映更改?我 - 通过这样做 - 实际上创建我自己的模块?
我还读到我应该在进行任何更改之前禁用"编译".为什么是这样?还有什么需要考虑的吗?
我再次非常感谢任何帮助,并感谢我的问题看起来很基本.您可以指出我的任何补充资源将不胜感激.谢谢.
实际上,您应该首先了解要编辑的文件以及如何编辑它.在这种情况下,你要修改app/code/core/Mage/Adminhtml/Block/Catalog/Category/Tab/Product.php
,但是,就像你说的,你应该不修改其当前位置的文件.有两种方法可以"正确"方式修改文件.
local
并告诉Magento etc/config.xml
你在这个新模块中用一个不同的块覆盖那个Block(它只是一个php类),并让新类extend
成为核心Block类.然后你只需要覆盖一个函数(_prepareColumns
).app/code/core/Mage/Adminhtml/Block/Catalog/Category/Tab/Product.php
到app/code/local/Mage/Adminhtml/Block/Catalog/Category/Tab/Product.php
并修改所需的功能(_prepareColumns
)如果您是Magento的新手,我建议使用第二个选项,因为它更容易.Magento将始终在加载local
之前加载core
文件,因此core
将不再使用文件,并且将使用您的版本local
.要了解更多信息,请阅读Alan Storm的这篇文章
现在,为了添加所需的列,请执行与SKU字段类似的操作
$this->addColumn('size', array(
'header' => Mage::helper('catalog')->__('Size'),
'index' => 'size'
));
Run Code Online (Sandbox Code Playgroud)
按您想要的顺序(在产品名称和SKU之间).我假设你的产品有一个叫做size
你可以跟进的领域$product->getSize()
归档时间: |
|
查看次数: |
891 次 |
最近记录: |