Có cách nào (hoặc một số cách) để thêm các cột bổ sung vào lưới đơn đặt hàng mà người ta nhìn thấy trong khu vực quản trị không?
Có cách nào (hoặc một số cách) để thêm các cột bổ sung vào lưới đơn đặt hàng mà người ta nhìn thấy trong khu vực quản trị không?
Câu trả lời:
Tôi sẽ làm sạch
Tôi sẽ quan sát core_collection_abstract_load_before
và adminhtml_block_html_before
các sự kiện.
Trong nắm tay tôi sẽ thêm joinAttribute()
, joinField()
và join()
vào bộ sưu tập và trong lần thứ hai tôi sẽ addColumn()
chặn.
Hãy cho tôi biết nếu cần thêm chi tiết.
Mage_Sales_Model_Resource_Order_Grid_Collection
?
Nếu bạn có một mô-đun tùy chỉnh cần thêm cột, điều này có thể không phù hợp với bạn, nhưng để thêm phương thức thanh toán hoặc một cái gì đó vào lưới, điều này hoạt động tốt: https://github.com/mage-eag/mage-enhified -admin-lưới
Bạn muốn mở rộng Mage_Adminhtml_Block_Sales_Order_Grid
trong app/code/local/Module/Adminhtml/Block/Sales/Order
, ghi đè lên các chức năng _prepareColumns()
và sử dụng $this->addColumn
. Nếu bạn cần sửa đổi bộ sưu tập để thay đổi SQL cho bộ sưu tập đang được sử dụng, hãy ghi đè _prepareCollection()
và gọiMage::getResourceModel($this->_getCollectionClass())->getSelect()->joinLeft(...)
Đối với cả hai chức năng, trả về kết quả của
Mage_Adminhtml_Block_Widget_Grid::_prepareCollection()
hoặcMage_Adminhtml_Block_Widget_Grid::_prepareColumns()
thay vì cha mẹ hoặc các thay đổi của bạn sẽ được ghi đè bằng hành vi ban đầu từ đóMage_Adminhtml_Block_Sales_Order_Grid
.