¿Cómo puedo exportar campos que no se muestran en la red de administración?
-
16-10-2019 - |
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:
Esta es mi vista de cuadrícula:
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?
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) {
.