Magentoの管理者で特定の機能のカスタムモジュールを作成しています。Adminhtmlグリッド内で、ラインオーダーアイテムをプルしていますが、現在データベースにある各製品に固有のデータもプルする必要があります。
添付されているのは、現在のAdminhtmlグリッドのスクリーンショットです。 グリッドに追加の列として製品属性(ブランド、フレーバーなど)を追加する必要があります。どうすればこれを行うことができますか?追加してみました
$collection->join()
に
_prepareCollection()
機能しますが、結合する正確なテーブルを特定できませんでした(フラットインデックスがオンになっています)。
ありがとう!マーク
先端をありがとう。選択したメニューでEAVオブジェクトを扱っているので、正確には探していたものではありませんが、近いです(賛成)。
これが私が追加することになるコレクションの選択です:
$collection->getSelect()->join('catalog_product_index_eav', '`catalog_product_index_eav`.`entity_id` = `main_table`.`product_id` AND `catalog_product_index_eav`.`attribute_id` = (SELECT attribute_id FROM eav_attribute WHERE attribute_code = "brand")', array('attribute_id'));
$collection->getSelect()->join('eav_attribute_option_value', '`eav_attribute_option_value`.`option_id` = `catalog_product_index_eav`.`value`', array('brand' => 'value'));
この新しいブランド列の入力テキストボックスの機能は本当に必要ありませんが、これをsearch
機能させる方法を知っている人はいますか?このエラーの受信:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'brand' in 'where clause'
私は入って診断することができますが、誰かが頭のてっぺんから知っているかもしれないと考えました。