我想在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'
));
我正在获取主表数据,但没有收到我加入的字段。
我试过这个,任何其他方法总是受欢迎的。谢谢你提前。
答案 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',
));
您必须在渲染器路径中包含一个方法,该方法将返回街道名称。 就是这样