这是以下问题的后续问题,现在部分回答: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')
中/app/code/core/Mage/Adminhtml/Block/Sales/Order/Grid.php
(指向组中使用的正确ID),_prepareMassAction()
函数使用的id是连接表中的entity_id(在我的例子中,magento_sales_flat_order_address为order_address),而不是main_table中的entity_id应该是。
我已经尝试在$this->setMassactionIdField('entity_id');
函数中更改此值_prepareMassAction()
以指向要使用的正确ID,但它就好像我放在括号中的任何内容都无效。当我将其更改为任何值(除了null或空)之外,它会一直指向' entity_id'从order_address表中,我甚至检查它是否正确设置如下:
echo getMassactionIdField();
输出是我在setMassactionIdField()
中输入的ID(例如,parent_id),因此它被正确设置,并且结果显然是使用了entity_id。所以要么这是一个错误,要么就是我在这里做得不好。