【发布时间】:2010-09-23 13:43:31
【问题描述】:
我想在管理员的订单网格中增加一列。假设其客户组 ID。
我的 app/etc/modules/MyProject_Adminhtml 看起来像:
<?xml version="1.0"?>
<config>
<modules>
<MyProject_Adminhtml>
<active>true</active>
<codePool>local</codePool>
<depends>
<Mage_Sales />
</depends>
</MyProject_Adminhtml>
</modules>
</config>
我的 app/code/local/MyProject/Adminhtml/etc/config.xml 看起来像:
<?xml version="1.0"?>
<config>
<modules>
<MyProject_Adminhtml>
<version>1.0.0</version>
</MyProject_Adminhtml>
</modules>
<global>
<blocks>
<adminhtml>
<rewrite>
<sales_order_grid>MyProject_Adminhtml_Block_Sales_Order_Grid</sales_order_grid>
</rewrite>
</adminhtml>
</blocks>
</global>
</config>
在 app/code/local/MyProject/Adminhtml/Block/Sales/Order/Grid.php 我已经覆盖了 Mage_Adminhtml_Block_Sales_Order_Grid
class MyProject_Adminhtml_Block_Sales_Order_Grid extends Mage_Adminhtml_Block_Sales_Order_Grid
{
protected function _prepareColumns()
{
.... unchanged code from Mage_Adminhtml_Block_Sales_Order_Grid::_prepareColumns ...
$this->addColumn('customer_group_id', array(
'header' => Mage::helper('sales')->__('Customer Group Id'),
'index' => 'customer_group_id',
'type' => 'text',
));
.... unchanged code from Mage_Adminhtml_Block_Sales_Order_Grid::_prepareColumns ...
}
}
有什么我错过的,因为我在订单网格中看不到任何东西。我正在使用 Magento 1.4.1.1
在 Anda B 的评论中,我写了以下一行:
var_dump($this->getLayout()->createBlock('MyProject_Adminhtml_Block_Sales_Order_Grid'));
在 app/code/core/Mage/Adminhtml/controllers/Sales/Order/CreateController.php 中
然后,我选择“创建新订单”并取消订单以查看 var_dump 的执行结果,我看到以下内容:
/var/www/magento/var/report/72990635: line 10: syntax error near unexpected token `}' /var/www/magento/var/report/72990635: line 10: `#9 {main}";s:3:"url";s:80:"/index.php/admin/sales_order_create/cancel/key/0624033594dd63d9e145fc538f4c6bbb/";s:11:"script_name";s:10:"/index.php";s:4:"skin";s:5:"admin";}'
【问题讨论】:
-
订单对象上是否存在该字段,还是需要添加?
-
我之前没有寻找过,现在当我查看 app/code/core/Mage/Sales/Model/Order.php 时找不到它。但是我的看法是,如果数据库表 sales_flat_order 中存在一个字段,它就会出现在这里。它确实存在。
标签: magento e-commerce