Pregunta

Tengo una cuadrícula de administración personalizada, que muestra los comentarios dados por los clientes durante el pago. Tengo 19 campos en la Custom_Table, incluyendo Entity_ID, Create_AT y Updated_at.

Esta es mi vista de forma:enter image description here

Esta es mi vista de cuadrícula:enter image description here

Todo funciona bien. Ahora, cuando exporto la cuadrícula como CSV/ XML/ Excel, solo exportaría los campos en la cuadrícula, pero quiero que se exporten todos los datos en mi mesa de base de datos. ¿Cómo puedo hacer eso? Además, si aplico el filtro en esa cuadrícula, solo esas filas deben exportarse.

Nota: El nombre del cliente y el correo electrónico_id se muestran uniendo la tabla de ventas/pedidos

Esta es mi función _prepareCollection () en grid.php

protected function _prepareCollection(){
    $collection = Mage::getModel('feedbacktest/feedback')->getCollection();
    // join the order table to display in the grid.
    $collection->join('sales/order', 'increment_id=order_id', array('orderId'=>'entity_id', 'custName'=>'concat(customer_firstname," ",customer_lastname)', 'custEmail'=>'customer_email'), null,'left');
    $this->setCollection($collection);
    return parent::_prepareCollection();
}

La recopilación me da todos los datos (según lo necesito), pero los datos exportados contienen solo los datos en la cuadrícula.

¿Alguien me puede ayudar en esto?

¿Fue útil?

Solución

Puede agregar sus columnas de cuadrícula que son visibles solo en la exportación.
En el _prepareColumns() Método Agregar esto:

if ($this->_isExport) { 
    $this->addColumn('col_id', array(
        'header' => Mage::helper('helper_alias')->__('Header'),
        'index'  => 'col_id',
    ));
}

Al igual que cualquier otra columna, solo envuelto en if ($this->_isExport) {.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top