0

データを表示する列を追加して、Magento Sales/Order/Grid をカスタマイズしようとしています。

Customer_Id Billing_Address Shipping_Address

以前の投稿に続いてモジュールを作成しました

現在、テーブルを結合しようとしていますが、XML を使用してこれを行う方法を理解できませんでした。

<gridcontrol>
    <grids>
        <sales_order_grid>
            <!-- remove order id -->
            <shipping_address>
                <add>
                    <header>Shipping Address</header>
                    <!-- join shipping address from sales/order table -->
                    <join table="sales_flat_order_address" condition="sales_flat_order_address.entity_id={{table}}.street" field="street"/>
                </add>
                <after>status</after>
            </shipping_address>
            <billing_address>
                <add>
                    <header>Billing Address</header>
                    <!-- join shipping address from sales/order table -->
                    <join table="sales_flat_order_address" condition="sales_flat_order_address.entity_id={{table}}.street" field="street"/>
                </add>
                <after>status</after>
            </billing_address>
            <customer_id>
                <add>
                    <header>Customer Id</header>
                    <!-- join shipping address from sales/order table -->
                    <join table="sales_flat_order" condition="main_table.cutomer_id={{table}}.customer_id" field="customer_id"/>
                </add>
                <after>status</after>
            </customer_id>            
        </sales_order_grid>
    </grids>
</gridcontrol>

グリッドに新しい列が表示されていますが、空なので、何か間違ったことをしていることがわかります。それは本当に単純なことだと思います。この方法を使用して正しいテーブルに参加する方法を教えていただければ幸いです。

4

1 に答える 1

0

_prepareCollection() を試してみませんか

$collection->getSelect()->columns(array('filename' => new Zend_Db_Expr ("(SELECT 
filename FROM table_name WHERE customer_id =e.entity_id)")));
        $this->setCollection($collection);
于 2013-09-25T10:24:53.270 に答える