我是magento的新人。
我在order_campaign_params
表中添加了一个额外字段,即Order Utm Source
当客户完成订单时,数据将插入此表中。
现在我想在admin中显示此属性值。
我在管理员中添加了一个额外的列,即 $this->addColumn('order_campaign_params', array(
'header' => Mage::helper('orderreport')->__('Order Utm Source'),
'index' => 'order_campaign_params',
'filter_index'=>'customer_entity.order_campaign_params',
'width' => '70px',
));
,但数据未显示。
请告诉我如何在admin中显示属性值。
请参阅添加列的代码
value_id entity_type_id attribute_id entity_id value
136977 1 5 43120 Sanghamitra
136978 1 7 43120 samal
136979 1 12 43120 0860142023b7a810ce66a21b68
136980 1 174 43120 data(order_compaign_params)
136981 1 3 43120 Kalazone.in
但如何显示该领域的数据,请解释。
请参阅结构:
customer_entity_varchar表
View >> Macros >> View Macros
由于
答案 0 :(得分:1)
销售订单网格是从sales_flat_order_grid
表格构建的。列order_campaign_params
存在于sales_flat_order
表中,而不是sales_flat_order_grid
表。
所以你需要使用sales_flat_order_grid
table sales_flat_order
表连接MySQL,如下所示:
$select = $collection->getSelect();
$select->joinLeft(array('order' => Mage::getModel('core/resource')->getTableName('sales/order')), 'order.entity_id=main_table.entity_id',
array('order_campaign_params' => 'order_campaign_params'));
$select->joinLeft(array('custeav' => 'customer_entity_varchar'), 'custeav.attribute_id=main_table.order_campaign_params', array('*'));
order_campaign_params
列现在将显示在网格中。
希望这有帮助。