在admin magento中显示属性值

时间:2015-06-24 06:44:15

标签: magento magento-1.9 magento-1.9.1

我是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

由于

1 个答案:

答案 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列现在将显示在网格中。

希望这有帮助。