我试图在 Adminhtml_Block_Sales_Order_Grid 上为客户组添加一列。并且部分成功,我遇到的唯一问题是如果订单是由来宾客户完成的,那么该列是空的。
我的代码:
<?php
class MyNamespace_CustomizeGrids_Block_Sales_Order_Grid extends Mage_Adminhtml_Block_Sales_Order_Grid
{
protected function _prepareColumns() {
$groups = Mage::getResourceModel('customer/group_collection')
->addFieldToFilter('customer_group_id', array('gt' => 0))
->load()
->toOptionHash();
$groups[0] = "Guest";
$this->addColumn('customer_group_id', array(
'header' => Mage::helper('customer')->__('Customer Group'),
'width' => '100',
'index' => 'customer_group_id',
'type' => 'options',
'options' => $groups,
));
$this->addColumnsOrder('customer_group_id', 'shipping_name');
return parent::_prepareColumns();
}
}
如您所见,我通过操作 $groups 数组解决了这个问题。
我的问题是:有没有更好的方法来做到这一点?