私はMage/Adminhtml/Sales/Order/Grid.phpをオーバーライドしてprepareCollectionにデータを追加しています。これは、顧客のEAV属性campaign_idをコレクションに含める方法ですが、それは一種のハッキーです。私はもっと良い方法があるのだろうかと思っていた。コレクションに属性を追加する方が良い
2
A
答えて
8
顧客レコードのデータをロードされる前に注文コレクションに追加する必要があります。
ロードイベント後に&の前にコレクションを確認できます。 sales/order_grid_collection
コレクションについては、これらのイベントはsales_order_grid_collection_load_before
とsales_order_grid_collection_load_after
です。前者を使用します。コレクションは_before_load
イベントオブザーバー$observer->getOrderGridCollection()
でアクセスできます。
0
protected function _prepareCollection() {
$collection = Mage::getResourceModel($this->_getCollectionClass());
$class = get_class($collection);
$attribute = Mage::getModel('eav/config')
->getAttribute('customer', 'campaign_id');
$attributeId = $attribute->getAttributeId();
$backendType = $attribute->getBackendType(); //probably varchar
$tableName = Mage::getSingleton('core/resource')
->getTableName('customer_entity_' . $backendType);
$collection->getSelect()
->joinLeft(array('v' => $tableName),
'main_table.customer_id = v.entity_id AND attribute_id = 153',
array('v.value', 'v.attribute_id'));
$this->setCollection($collection);
return parent::_prepareCollection();
}
関連する問題
- 1. XmlArrayAttributeでマークされたコレクションに属性を追加する方法は?
- 2. コレクションにオブジェクトの属性を手動で追加した配列に追加
- 3. プロパティ/属性を追加する方法/ ???
- 4. 属性クラス名に「属性」を追加していますか?
- 5. の追加属性が
- 6. jsonオブジェクトに属性を追加する方法は?私は属性を追加する
- 7. データオブジェクトに新しい属性を追加する方法は?
- 8. ActiveRecordに新しい属性を追加する方法
- 9. Railsネストされた属性 - 新しい属性にカテゴリ属性を追加する方法は?
- 10. DataColumnに属性を追加する
- 11. BeautifulSoup - タグに属性を追加する
- 12. ApacheDSに 'memberOf'属性を追加する
- 13. フィードにカスタム属性を追加する
- 14. 要素に属性を追加する
- 15. システム属性にリストを追加する
- 16. ビューにカスタム属性を追加する
- 17. XMLノードに属性を追加する
- 18. Sequelizeアソシエーションに属性を追加する
- 19. javascript_include_tagにdefer属性を追加する
- 20. TTPhotoに属性を追加する
- 21. クラスにDebuggerStepThrough属性を追加する
- 22. CRMのActivitymimeattachmentエンティティにfilepath属性とfilename属性を追加する方法は?
- 23. magentoで設定された属性に属性を追加する方法
- 24. Mapbox [Android]のMarkerOptionsに新しい属性を追加する最も良い方法は何ですか?
- 25. 条件付き追加html属性を追加するには?
- 26. Zend Form Elementsすべての属性を属性に追加
- 27. 既存の属性をすべての属性セットに追加
- 28. 属性を追加してonchangeイベントで属性を削除する方法は?
- 29. Magento属性と属性セットをプログラムで追加する
- 30. グリッドにエンティティ属性を動的に追加する方法
このデータはどうしていますか?表示する列も追加していますか? – benmarks
はい、列も追加しています。 –