Aggiungi colonna ad Ammin.> Vendite> Griglia ordini


Risposte:


20

Inchoo ha scritto un ottimo articolo sull'estensione della griglia degli ordini. E sul blog Atwix c'è un articolo sull'aggiunta di una colonna da una tabella diversa.

Il post sul blog di Inchoo lo estende sostanzialmente con un'estensione personalizzata. Nel caso in cui non si abbia familiarità con la scrittura della propria estensione, suggerirei di fare un bottino nel tutorial di Alan Storms o in quello di Magento 4U .

Riscrivi la Mage_Adminhtml_Order_Gridclasse di blocco aggiungendo una colonna al _prepareColumnsmetodo ed estendendo il _prepareCollectionmetodo con il tuo campo personalizzato


7

È un processo semplice in 2 passaggi. (per es. voglio aggiungere indirizzo e-mail e la città dell'ordine in questa griglia degli ordini).
Copia questo file principale nel tuo locale prima nella stessa directory. app / code / core / Mage / Adminhtml / block / vendite / ordine / Grid.php

Passaggio 1: aggiungere la seguente riga di codice nella funzione _prepareColumns ()

$this->addColumn('email', array(
        'header'    => Mage::helper('catalog')->__('Customer Email'),
        'index'     => 'email',
        'type' => 'text'
    ));
$this->addColumn('city', array(
        'header'    => Mage::helper('catalog')->__('Order From City'),
        'index'     => 'city',
        'type' => 'text'
    ));

Passaggio 2: aggiungere la seguente riga di codice nella funzione _prepareCollection ()

$collection->getSelect()->join('sales_flat_order_address', 'main_table.entity_id = sales_flat_order_address.parent_id' ,array('email'=> 'email', 'city'=> 'city' ));
$collection->addFieldToFilter('sales_flat_order_address.address_type', array('eq' => 'billing'));

La query generale sarà come:

SELEZIONE main_table. *, sales_flat_order_address. emailAS customer_email, sales_flat_order_address. cityA PARTIRE DALsales_flat_order_grid COME main_tableINTERNO ISCRIVITI sales_flat_order_addressSU main_table.entity_id = sales_flat_order_address.parent_id DOVE (sales_flat_order_address.address_type = 'fatturazione')

Modifica il codice in base alle tue necessità.
Spero che sia d'aiuto.



Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.