どうすれば受注グリッドに追加の列を適切に追加できますか?


7

管理領域に表示される販売注文グリッドに列を追加する方法(またはいくつかの方法)はありますか?


1つは結合が必要で、もう1つはsales_order_gridテーブルから直接情報を取得できるため、ソリューションを表示したい追加の列によっては、見た目が異なるため、質問が少し広すぎると思います。また、自分にとって適切な意味を詳しく説明しておくとよいでしょう。私にとっては、コアをハッキングしないことから書き換えを行わないこと、そして新しいカラムをフィルター可能にすることの間のあらゆることを意味する可能性があります。
クリストフ、フーマンで2013年

回答:


5

きれいにします。

core_collection_abstract_load_beforeadminhtml_block_html_beforeイベントを観察します。

拳一つは、私は追加したいjoinAttribute()joinField()join()コレクションに第二に、私はいただきたいaddColumn()ブロックに。

詳細が必要な場合はお知らせください。


コレクションのロードをすべて使い果たしますか?なぜ観察しないのMage_Sales_Model_Resource_Order_Grid_Collectionですか?
ベンマークス2013年

すみません、もっと考えています。管理グリッドを変更するためのソリューションについて考えています。
user487772 2013年


1

で拡張Mage_Adminhtml_Block_Sales_Order_Gridapp/code/local/Module/Adminhtml/Block/Sales/Order、関数_prepareColumns()をオーバーライドして使用します$this->addColumn。使用されているコレクションのSQLを変更するためにコレクションを変更する必要がある場合は、オーバーライド_prepareCollection()して呼び出します。Mage::getResourceModel($this->_getCollectionClass())->getSelect()->joinLeft(...)

両方の機能のために、結果を返す Mage_Adminhtml_Block_Widget_Grid::_prepareCollection()か、 Mage_Adminhtml_Block_Widget_Grid::_prepareColumns()むしろ親よりも、または変更は、元からの行動で上書きされますMage_Adminhtml_Block_Sales_Order_Grid

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.