Magento将公司名称添加到订单和客户网格中

时间:2014-02-07 17:41:26

标签: magento

我需要的是在显示客户地址时显示公司名称而不是名字和姓氏。

除此之外,我还需要在注册表,客户和订单网格中添加公司名称。

实现这一目标的最佳方式是什么?

1 个答案:

答案 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();
}