Khi các câu trả lời khác đã chỉ ra, bạn có thể sử dụng phương thức Mage_Adminhtml_Block_Widget_Grid::addColumnAfter
để thực hiện việc này.
Tuy nhiên, những gì (hầu hết) các câu trả lời khác không đề cập đến là bạn phải gọi Mage_Adminhtml_Block_Widget_Grid::sortColumnsByOrder
để các cột được sắp xếp lại.
Phương pháp Mage_Adminhtml_Block_Widget_Grid::sortColumnsByOrder
được gọi là độc quyền theo phương pháp Mage_Adminhtml_Block_Widget_Grid::_prepareColumns
như sau:
/// app/code/core/Mage/Adminhtml/Block/Widget/Grid.php line 557
protected function _prepareColumns()
{
$this->sortColumnsByOrder();
return $this;
}
Điều này có nghĩa rằng lớp được thừa kế của bạn sẽ phải làm như vậy để tái sắp xếp các cột dựa trên đặt hàng mới của bạn. Ví dụ:
protected function _prepareColumns() {
/// Let the parent add some columns
/// Mage_Eav_Block_Adminhtml_Attribute_Grid_Abstract does add some
parent::_prepareColumns();
/// Add some new columns
$this->addColumnAfter('sort_order', array(
'header' => $this->__('Sort Order'),
'sortable' => true,
'index' => 'sort_order'
), 'frontend_label');
$this->addColumnAfter('attribute_group_name', array(
'header' => $this->__('Attribute Group'),
'sortable' => true,
'index' => 'attribute_group_name'), 'sort_order');
/// ! IMPORTANT ! Re-sort the columns with the new additions
$this->sortColumnsByOrder();
return $this;
}
Nguồn
2016-10-06 04:03:48
Tính năng này hoạt động. – jruzafa
xem, thứ tự gọi điện này trước khi phụ huynh có thể quan trọng, hãy xem câu trả lời của Praful Rajput – peedee