売上グリッド ビューにいくつかの追加データを表示し、それをフィルタリングできるようにしたい
注文ごとに、SKU、製品名、合計数量、および製品メーカー (またはカテゴリまたは別の属性) を表示しようとしています。
このコードを使用すると、最初の 3 つを取得できます
$collection = Mage::getResourceModel($this->_getCollectionClass());
$collection
->join(
array('s'=>'sales/order_item'),
'`main_table`.entity_id=s.order_id',
array(
'skus' => new Zend_Db_Expr('group_concat(s.sku SEPARATOR ", ")'),
'names' => new Zend_Db_Expr('group_concat(s.name SEPARATOR ", ")'),
'items' => new Zend_Db_Expr('count(s.qty_ordered)'),
)
);
$collection->getSelect()->group('entity_id');
そしてそれは動作します:)
追加データを取得するには (例: 地域、製品のカスタム属性)、製品データを取得するために別の結合を行う必要があるため、私のコードは次のようなものになるはずです
$collection = Mage::getResourceModel($this->_getCollectionClass());
$collection
->join(
array('s'=>'sales/order_item'),
'`main_table`.entity_id=s.order_id',
array(
'skus' => new Zend_Db_Expr('group_concat(s.sku SEPARATOR ", ")'),
'names' => new Zend_Db_Expr('group_concat(s.name SEPARATOR ", ")'),
'items' => new Zend_Db_Expr('count(s.qty_ordered)'),
)
);
$collection //OR $collection->getSelect() both don't work
->join(
array('p'=>'catalog/product'),
'p.entity_id=s.product_id',
array(
.....
)
);
.... more stuff
$collection->getSelect()->group('entity_id');
しかし、2 番目の結合を追加しようとするたびに、ログにテンプレート o_O エラーが表示されます
2013-10-03T14:27:00+00:00 DEBUG (7): テンプレートの読み込みに失敗しました: [MYBASEDIR]/app/design/adminhtml/default/default/template/widget/grid/container.phtml
2013-10-03T14:27:00+00:00 DEBUG (7): テンプレートの読み込みに失敗しました: [MYBASEDIR]/app/design/adminhtml/default/default/template/page.phtml
私は本当に無知です...どうすればこれを修正できますか? そのコレクションに複数の参加を行う方法... ?
ありがとう