Как я могу экспортировать поля, которые не отображаются в сетке администратора?

magento.stackexchange https://magento.stackexchange.com/questions/7970

Вопрос

У меня есть пользовательская сетка администратора, которая показывает отзыв, предоставленные клиентами во время оформления заказа. У меня есть 19 полей в custom_table, включая entity_id, create_at и updated_at.

Это мой вид формы:enter image description here

Это мой сетка:enter image description here

Все работает нормально. Теперь, когда я экспортирую сетку как CSV/ XML/ Excel, она только экспортирует поля в сетке, но я хочу, чтобы все данные в моей базе данных были экспортированы. Как я могу это сделать? Также, если я применяю фильтр в этой сетке, должны быть экспортированы только эти ряды.

примечание: Имя клиента и email_id отображаются путем присоединения к таблице продаж/заказа

Это моя функция _prepareCollection () в 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();
}

Сбор дает мне все данные (как мне нужно), но экспортируемые данные содержат только данные в сетке.

Кто -нибудь может помочь мне в этом?

Это было полезно?

Решение

Вы можете добавить в свою сетку столбцы, которые видны только при экспорте.
в _prepareColumns() Метод добавьте это:

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

Как и в любой другой колонке, просто завернут if ($this->_isExport) {.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top