我在sales_flat_order中添加了一个新列(已导出)并添加了此位置的文件:
应用程序/代码/核心/法师/ Adminhtml /砌块/销售/订购/ Grid.php
protected function _prepareCollection()
{
$collection = Mage::getResourceModel($this->_getCollectionClass())
->addAttributeToSelect('*')
->joinAttribute('exported','sales/order','sales_flat_order.entity_id',null,'left');
}
protected function _prepareColumns()
{
$this->addColumn('exported', array(
'header' => Mage::helper('sales')->__('Exported'),
'index' => 'exported',
'type' => 'checkbox',
'name' =>'exported',
'value' =>$this->getExported()==1 ? 'true' : 'false',
));
}
之后它显示在管理网站的订单网格上,但它没有显示值和名称,
我是magento的新人,所以请帮助我, 卡住了2天。 谢谢你的帮助。
答案 0 :(得分:0)
方法_prepareCollection()使用sales_flat_order_grid表作为源,因此您必须将该列添加到sales_flat_order_grid表,并从sales_flat_order表的相应列更新该列的值。
在这种情况下,Magento会自动更新sales_flat_order_grid表中的此列以供将来订单使用。
显示布尔列的更好方法是Yes / No renderer。在_prepareColumns()方法
中使用以下代码 $this->addColumn('exported', array(
'header' => Mage::helper('sales')->__('Exported'),
'index' => 'exported',
'type' => 'options',
'width' => '70px',
'options' => array(
1 => Mage::helper('sales')->__('Yes'),
0 => Mage::helper('sales')->__('No'),
),
));
还有一些关于cutomizing order grid的其他有用的文章。看看下面的链接: