Làm cách nào tôi có thể thêm đúng các cột bổ sung vào lưới đơn hàng?


7

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?


Tôi nghĩ rằng câu hỏi có thể hơi rộng vì tùy thuộc vào cột nào bạn muốn hiển thị giải pháp sẽ khác nhau vì người ta có thể yêu cầu tham gia và người khác có thể lấy thông tin trực tiếp từ bảng sales_order_grid. Nó cũng sẽ tốt nếu bạn đánh vần đúng nghĩa của bạn. Đối với tôi nó có thể có nghĩa là bất cứ điều gì giữa việc không hack lõi để không viết lại và làm cho các cột mới có thể lọc được.
Kristof tại Fooman

Câu trả lời:


5

Tôi sẽ làm sạch

Tôi sẽ quan sát core_collection_abstract_load_beforeadminhtml_block_html_beforecác sự kiện.

Trong nắm tay tôi sẽ thêm joinAttribute(), joinField()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.


Bạn sẽ tiêu thụ tất cả các bộ sưu tập? Tại sao không chỉ quan sát Mage_Sales_Model_Resource_Order_Grid_Collection?
đánh dấu

Xin lỗi, tôi chỉ nghĩ xa hơn. Suy nghĩ về giải pháp để sửa đổi bất kỳ lưới quản trị.
dùng487772


1

Bạn muốn mở rộng Mage_Adminhtml_Block_Sales_Order_Gridtrong 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ặc Mage_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.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.