我需要的是在显示客户地址时显示公司名称而不是名字和姓氏。
除此之外,我还需要在注册表,客户和订单网格中添加公司名称。
实现这一目标的最佳方式是什么?
答案 0 :(得分:1)
我今天将这个添加到一些Magento商店并看到了这个老问题,也许我的回答会帮助其他人。这将仅回答您如何将公司名称添加到订单网格中。为此,您需要扩展Mage_Adminhtml_Block_Sales_Order_Grid类。然后重写_prepareCollection和_prepareColumns函数。此代码基于this free extension
protected function _prepareCollection()
{
$collection = Mage::getResourceModel($this->_getCollectionClass());
$tableName = Mage::getSingleton("core/resource")->getTableName('sales_flat_order_address');
$collection->getSelect()->join($tableName, "main_table.entity_id = $tableName.parent_id AND $tableName.address_type='billing'",array('company'));
$this->setCollection($collection);
return Mage_Adminhtml_Block_Widget_Grid::_prepareCollection();
}
protected function _prepareColumns()
{
$this->addColumnAfter('company', array(
'header' => Mage::helper('customer')->__('Company'),
'index' => 'company'
),'billing_name');
return parent::_prepareColumns();
}