0

売上グリッド ビューにいくつかの追加データを表示し、それをフィルタリングできるようにしたい

注文ごとに、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

私は本当に無知です...どうすればこれを修正できますか? そのコレクションに複数の参加を行う方法... ?

ありがとう

4

1 に答える 1