Magento 1.9.2 admin按订单数量在客户中添加街道列报告

时间:2016-05-21 11:29:58

标签: php magento magento-1.9

我想在admin-> report->客户中按订单数量添加街道列。(Magento 1.9.2)

我尝试在' app \ code \ core \ Mage \ Reports \ Model \ Resource \ Customer \ Orders \ Collection.php'

中添加联接查询
protected function _joinFields($from = '', $to = '')
{   

    $this->joinCustomerName()
        ->groupByCustomer()
        ->addOrdersCount()                 
        ->addAttributeToFilter('main_table.created_at', array('from' => $from, 'to' => $to, 'datetime' => true))
        ->join(array('p' => 'sales/order_address'), 'main_table.entity_id = p.parent_id', array(
                'street'
        ));

        return $this;
}

在' app \ code \ core \ Mage \ Adminhtml \ Block \ Report \ Customer \ Orders \ Grid.php'

$this->addColumn('street', array(
        'header'    => $this->__('street'),
        'sortable'  => false,
        'index'     => 'street'
    ));

我正在获取主表数据,但没有收到我加入的字段。

我试过这个,任何其他方法总是受欢迎的。谢谢你提前。

enter image description here

1 个答案:

答案 0 :(得分:0)

在'app \ code \ core \ Mage \ Adminhtml \ Block \ Report \ Customer \ Orders \ Grid.php'中 您必须包含将从相应模块中获取数据的渲染器标记。

$this->addColumn('street', array(
    'header'    => $this->__('street'),
    'sortable'  => false,
    'index'     => 'street',
    'renderer'  => 'namespace_module/adminhtml_module_renderer_streetname',

));

您必须在渲染器路径中包含一个方法,该方法将返回街道名称。 就是这样