Создайте собственный модуль и перезаписайте <sales_order_grid>
В вашем Grid.php вам нужно сделать 2 разные вещи:
Скажите Magento, где найтипочтовый индекс
Сообщите Magento, куда его поместить
Лучший способ сообщить Magento, где найти информацию, - это функция setCollection.Эта функция вызывается из _prepareCollection, поэтому вам не нужно связываться с этой функцией.
public function setCollection($collection)
{
parent::setCollection($collection);
$collection->getSelect()
->join(
array('address' => $collection->getTable("sales/order_address")),
'main_table.entity_id = address.parent_id AND address.address_type = "shipping"',
array('postcode')
);
}
Здесь вы сделали соединение и определили, что информацию можно найти с псевдонимом 'почтовый индекс'
Теперь все, что осталось, это сказать Магенто, куда его положить.Просто переопределите функцию _prepareColumn:
protected function _prepareColumns()
{
parent::_prepareColumns();
$this->addColumn('postcode',
array(
'header' => Mage::helper('sales')->__('Postcode'),
'index' => 'postcode'
)
);
return $this;
}
index относится к имени, которое вы задаете в функции setCollection.Если вы хотите поместить столбец в определенное место, вы должны использовать addColumnAfter ()
Надеюсь, что поможет