这是以下问题的后续,现在部分回答:Adding custom columns in order grid (Magento 1.7.0.0),这就是问题所在:
当我使用查询时:
$collection->getSelect()->join('magento_sales_flat_order_address', 'main_table.entity_id = magento_sales_flat_order_address.parent_id',array('telephone', 'email'));
除了$collection->getSelect()->group('main_table.entity_id')
(指向在组中使用的正确 id)之外,函数/app/code/core/Mage/Adminhtml/Block/Sales/Order/Grid.php
使用的 id_prepareMassAction()
是连接表中的 entity_id(在我的情况下,magento_sales_flat_order_address 作为 order_address),而不是 main_table 中的 entity_id应该。
我已经尝试$this->setMassactionIdField('entity_id');
在_prepareMassAction()
函数中更改此值以指向要使用的正确 id,但就好像我在括号中放置的任何内容都不起作用。当我将它更改为任何值(除了 null 或空)时,它一直指向 order_address 表中的“entity_id”,我什至检查它是否设置正确,如下所示:
echo getMassactionIdField();
输出是我在其中输入的 ID setMassactionIdField()
(例如 parent_id),因此设置正确,但结果显然使用了 entity_id。所以要么这是一个错误,要么是我在这里做的不对。