如何在orders.csv中显示客户电子邮件

时间:2014-12-12 12:32:13

标签: magento

有人能帮帮我吗?如何在Mangento的orders.csv文件中添加新字段?例如,我想在csv文件中有电子邮件和电话。

请点击以下链接了解哪个出口正在谈论 http://i.stack.imgur.com/fBAHG.png

谢谢

1 个答案:

答案 0 :(得分:2)

您必须自定义网格块:/app/code/core/Mage/Adminhtml/Block/Sales/Order/Grid.php

所以你可以这样做。如果您已启用本地模块功能,请将其复制并粘贴到此路径/app/code/local/Mage/Adminhtml/Block/Sales/Order/Grid.php

然后打开新文件(粘贴),检查此方法_prepareColumns()。 在此方法中,您必须添加要在order.csv中导出的属性。 请检查以下内容:

....
    $this->addColumn('customer_email', array(
        'header' => Mage::helper('sales')->__('Email'),
        'index' => 'customer_email',
    ));        
....

在此之后,刷新magento缓存。

请检查以下代码: 在Grid.php中

protected function _prepareCollection()
{
      $collection = Mage::getResourceModel($this->_getCollectionClass());
      $collection->getSelect()
        ->join(
           'customer_entity',
           'main_table.customer_id = customer_entity.entity_id', array('customer_email' => 'email')
    );
    $this->setCollection($collection);
    return parent::_prepareCollection();
}

然后在protected function _prepareColumns()函数中添加以下代码:

$this->addColumn('customer_email', array(
        'header' => Mage::helper('sales')->__('Email'),
        'index' => 'customer_email',
    ));

在此之后,您必须刷新缓存或再次登录。