Wie kann ich Felder exportieren, die nicht im Administratorraster angezeigt werden?
-
16-10-2019 - |
Frage
Ich habe ein benutzerdefiniertes Administratorraster, das das Feedback der Kunden während der Kasse zeigt. Ich habe 19 Felder im Custom_table, einschließlich entity_id, erstellt_at und updated_at.
Dies ist meine Formansicht:
Dies ist meine Netzansicht:
Alles funktioniert gut. Wenn ich nun das Netz als CSV/ XML/ Excel exportiere, würde es nur die Felder im Netz exportieren, aber ich möchte, dass alle Daten in meinem Datenbanktabelle exportiert werden. Wie kann ich das machen? Auch wenn ich Filter in diesem Netz anwende, sollten nur diese Zeilen exportiert werden.
Hinweis: Kundenname und E -Mail_ID werden angezeigt, indem der Verkaufs-/Bestellentabelle beitritt
Dies ist meine Funktion _prepareCollection () in 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();
}
Die Sammlung gibt mir alle Daten (wie ich benötigt), aber exportierte Daten enthalten nur die Daten im Netz.
Kann mir jemand dabei helfen?
Lösung
Sie können Ihre Gittersäulen hinzufügen, die nur beim Export sichtbar sind.
In dem _prepareColumns()
Methode fügen Sie dies hinzu:
if ($this->_isExport) {
$this->addColumn('col_id', array(
'header' => Mage::helper('helper_alias')->__('Header'),
'index' => 'col_id',
));
}
Genau wie in jeder anderen Spalte, nur eingewickelt if ($this->_isExport) {
.