2017-07-06 1 views
0

J'ai été créé une grille dans laquelle j'ai répertorié le numéro de suivi de messagerie qui ont été affectés aux commandes.J'ajoute un bouton csv d'exportation dans cette grille.Lorsque je clique sur le bouton d'exportation, il donne une erreur Erreur irrécupérable: appel à une fonction membre getCsv() sur le booléen.Magento 1.9 Fonction d'exportation ne fonctionne pas dans la grille personnalisée

code contrôleur

<?php 
    class Mage_OrderFulfillment_Adminhtml_TrackingnumbersController extends Mage_Adminhtml_Controller_Action { 

     public function indexAction() { 
      $this->loadLayout();  
      $this->renderLayout(); 
     } 

     public function exportCsvAction(){ 
      $fileName = 'tracking_numbers.csv'; 
      $content = $this->getLayout()->createBlock('orderfulfillment/adminhtml_trackingnumbers_grid'); 
      $this->_prepareDownloadResponse($fileName, $content->getCsv()); 
     } 
    } 

Grid Code

<?php 

    class Mage_OrderFulfillment_Block_Adminhtml_Trackingnumbers_Grid extends Mage_Adminhtml_Block_Widget_Grid 
    { 
     public function __construct() 
     { 
      parent::__construct(); 
      $this->setId('mage_orderfulfillment_trackingnumbers_grid'); 
      $this->setDefaultSort('id'); 
      $this->setDefaultDir('DESC'); 
      $this->setSaveParametersInSession(true); 
     } 

     protected function _prepareCollection() 
     { 
      $collection = Mage::getModel('orderfulfillment/trackingnumbers')->getCollection(); 
      $this->setCollection($collection); 
      return parent::_prepareCollection(); 
     } 


     protected function _prepareColumns() 
     { 
      $this->addColumn('id', array(
       'header' => Mage::helper('OrderFulfillment')->__('ID'), 
       'align'  =>'right', 
       'width'  => '50px', 
       'index'  => 'id', 
      )); 

      $this->addColumn('tracking_number', array(
       'header' => Mage::helper('OrderFulfillment')->__('Tracking Number'), 
       'width'  => '150px', 
       'index'  => 'tracking_number', 
      )); 

      $this->addExportType('*/*/exportCsv', Mage::helper('OrderFulfillment')->__('CSV')); 
      return parent::_prepareColumns(); 
     } 
    } 

Répondre

0
//Update below function : 
public function exportCsvAction() { 
     $fileName = 'tracking_numbers.csv'; 
     $content = $this->getLayout()->createBlock('orderfulfillment/adminhtml_trackingnumbers_grid')->getCsv(); //Update this 
     $this->_sendUploadResponse($fileName, $content); //Update this 
    }