Displaying columns in Sales Order Grid












0















I have the following code to show some extra columns in the sales order grid. It correctly shows the columns and data, but when I try to click an order it says "No order exists".



I wondered if anyone can spot where I might be going wrong?



This code is in: /app/code/local/Mage/Adminhtml/Block/Sales/Order/Grid.php



class Mage_Adminhtml_Block_Sales_Order_Grid extends Mage_Adminhtml_Block_Widget_Grid
{

public function __construct()
{
parent::__construct();
$this->setId('sales_order_grid');
$this->setUseAjax(true);
$this->setDefaultSort('created_at');
$this->setDefaultDir('DESC');
$this->setSaveParametersInSession(true);
}

/**
* Retrieve collection class
*
* @return string
*/
protected function _getCollectionClass()
{
return 'sales/order_grid_collection';
}

protected function _prepareCollection()
{
$collection = Mage::getResourceModel($this->_getCollectionClass());

$collection->getSelect()->join(array('billing'=>'sales_flat_order_address'),'main_table.entity_id=billing.parent_id and billing.address_type="billing"',array('*'));

$collection->getSelect()->join(array('shipping'=>'sales_flat_order_address'),'main_table.entity_id=shipping.parent_id and shipping.address_type="shipping"',array('shipping.company as shipping_company'));



$this->setCollection($collection);

parent::_prepareCollection();
return Mage_Adminhtml_Block_Widget_Grid::_prepareCollection();
}

protected function _prepareColumns()
{

$this->addColumn('real_order_id', array(
'header'=> Mage::helper('sales')->__('Order #'),
'width' => '80px',
'type' => 'text',
'index' => 'increment_id',
));

$this->addColumn('created_at', array(
'header' => Mage::helper('sales')->__('Order Date'),
'index' => 'created_at',
'type' => 'datetime',
'width' => '100px',
));

$this->addColumn('billing_name', array(
'header' => Mage::helper('sales')->__('Billing Name'),
'index' => 'billing_name',
));

$this->addColumn('company', array(
'header' => Mage::helper('sales')->__('Billing Company'),
'index' => 'company',
'filter_index' => 'billing.company',
));

$this->addColumn('shipping_name', array(
'header' => Mage::helper('sales')->__('Shipping Name'),
'index' => 'shipping_name',
));

$this->addColumn('shipping_company', array(
'header' => Mage::helper('sales')->__('Shipping Company'),
'index' => 'shipping_company',
'filter_index' => 'shipping.company',
));

$this->addColumn('grand_total', array(
'header' => Mage::helper('sales')->__('Grand Total'),
'index' => 'grand_total',
'type' => 'currency',
'currency' => 'order_currency_code',
));

$this->addColumn('status', array(
'header' => Mage::helper('sales')->__('Status'),
'index' => 'status',
'type' => 'options',
'width' => '70px',
'options' => Mage::getSingleton('sales/order_config')->getStatuses(),
));

if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/view')) {
$this->addColumn('action',
array(
'header' => Mage::helper('sales')->__('Action'),
'width' => '50px',
'type' => 'action',
'getter' => 'getId',
'actions' => array(
array(
'caption' => Mage::helper('sales')->__('View'),
'url' => array('base'=>'*/sales_order/view'),
'field' => 'order_id',
'data-column' => 'action',
)
),
'filter' => false,
'sortable' => false,
'index' => 'stores',
'is_system' => true,
));
}
//$this->addRssList('rss/order/new', Mage::helper('sales')->__('New Order RSS'));

$this->addExportType('*/*/exportCsv', Mage::helper('sales')->__('CSV'));
$this->addExportType('*/*/exportExcel', Mage::helper('sales')->__('Excel XML'));

return parent::_prepareColumns();
}

protected function _prepareMassaction()
{
$this->setMassactionIdField('entity_id');
$this->getMassactionBlock()->setFormFieldName('order_ids');
$this->getMassactionBlock()->setUseSelectAll(false);

if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/cancel')) {
$this->getMassactionBlock()->addItem('cancel_order', array(
'label'=> Mage::helper('sales')->__('Cancel'),
'url' => $this->getUrl('*/sales_order/massCancel'),
));
}

if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/hold')) {
$this->getMassactionBlock()->addItem('hold_order', array(
'label'=> Mage::helper('sales')->__('Hold'),
'url' => $this->getUrl('*/sales_order/massHold'),
));
}

if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/unhold')) {
$this->getMassactionBlock()->addItem('unhold_order', array(
'label'=> Mage::helper('sales')->__('Unhold'),
'url' => $this->getUrl('*/sales_order/massUnhold'),
));
}

$this->getMassactionBlock()->addItem('pdfinvoices_order', array(
'label'=> Mage::helper('sales')->__('Print Invoices'),
'url' => $this->getUrl('*/sales_order/pdfinvoices'),
));

$this->getMassactionBlock()->addItem('pdfshipments_order', array(
'label'=> Mage::helper('sales')->__('Print Packingslips'),
'url' => $this->getUrl('*/sales_order/pdfshipments'),
));

$this->getMassactionBlock()->addItem('pdfcreditmemos_order', array(
'label'=> Mage::helper('sales')->__('Print Credit Memos'),
'url' => $this->getUrl('*/sales_order/pdfcreditmemos'),
));

$this->getMassactionBlock()->addItem('pdfdocs_order', array(
'label'=> Mage::helper('sales')->__('Print All'),
'url' => $this->getUrl('*/sales_order/pdfdocs'),
));

$this->getMassactionBlock()->addItem('print_shipping_label', array(
'label'=> Mage::helper('sales')->__('Print Shipping Labels'),
'url' => $this->getUrl('*/sales_order_shipment/massPrintShippingLabel'),
));

return $this;
}

public function getRowUrl($row)
{
if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/view')) {
return $this->getUrl('*/sales_order/view', array('order_id' => $row->getId()));
}
return false;
}

public function getGridUrl()
{
return $this->getUrl('*/*/grid', array('_current'=>true));
}

}









share|improve this question














bumped to the homepage by Community 10 mins ago


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.




















    0















    I have the following code to show some extra columns in the sales order grid. It correctly shows the columns and data, but when I try to click an order it says "No order exists".



    I wondered if anyone can spot where I might be going wrong?



    This code is in: /app/code/local/Mage/Adminhtml/Block/Sales/Order/Grid.php



    class Mage_Adminhtml_Block_Sales_Order_Grid extends Mage_Adminhtml_Block_Widget_Grid
    {

    public function __construct()
    {
    parent::__construct();
    $this->setId('sales_order_grid');
    $this->setUseAjax(true);
    $this->setDefaultSort('created_at');
    $this->setDefaultDir('DESC');
    $this->setSaveParametersInSession(true);
    }

    /**
    * Retrieve collection class
    *
    * @return string
    */
    protected function _getCollectionClass()
    {
    return 'sales/order_grid_collection';
    }

    protected function _prepareCollection()
    {
    $collection = Mage::getResourceModel($this->_getCollectionClass());

    $collection->getSelect()->join(array('billing'=>'sales_flat_order_address'),'main_table.entity_id=billing.parent_id and billing.address_type="billing"',array('*'));

    $collection->getSelect()->join(array('shipping'=>'sales_flat_order_address'),'main_table.entity_id=shipping.parent_id and shipping.address_type="shipping"',array('shipping.company as shipping_company'));



    $this->setCollection($collection);

    parent::_prepareCollection();
    return Mage_Adminhtml_Block_Widget_Grid::_prepareCollection();
    }

    protected function _prepareColumns()
    {

    $this->addColumn('real_order_id', array(
    'header'=> Mage::helper('sales')->__('Order #'),
    'width' => '80px',
    'type' => 'text',
    'index' => 'increment_id',
    ));

    $this->addColumn('created_at', array(
    'header' => Mage::helper('sales')->__('Order Date'),
    'index' => 'created_at',
    'type' => 'datetime',
    'width' => '100px',
    ));

    $this->addColumn('billing_name', array(
    'header' => Mage::helper('sales')->__('Billing Name'),
    'index' => 'billing_name',
    ));

    $this->addColumn('company', array(
    'header' => Mage::helper('sales')->__('Billing Company'),
    'index' => 'company',
    'filter_index' => 'billing.company',
    ));

    $this->addColumn('shipping_name', array(
    'header' => Mage::helper('sales')->__('Shipping Name'),
    'index' => 'shipping_name',
    ));

    $this->addColumn('shipping_company', array(
    'header' => Mage::helper('sales')->__('Shipping Company'),
    'index' => 'shipping_company',
    'filter_index' => 'shipping.company',
    ));

    $this->addColumn('grand_total', array(
    'header' => Mage::helper('sales')->__('Grand Total'),
    'index' => 'grand_total',
    'type' => 'currency',
    'currency' => 'order_currency_code',
    ));

    $this->addColumn('status', array(
    'header' => Mage::helper('sales')->__('Status'),
    'index' => 'status',
    'type' => 'options',
    'width' => '70px',
    'options' => Mage::getSingleton('sales/order_config')->getStatuses(),
    ));

    if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/view')) {
    $this->addColumn('action',
    array(
    'header' => Mage::helper('sales')->__('Action'),
    'width' => '50px',
    'type' => 'action',
    'getter' => 'getId',
    'actions' => array(
    array(
    'caption' => Mage::helper('sales')->__('View'),
    'url' => array('base'=>'*/sales_order/view'),
    'field' => 'order_id',
    'data-column' => 'action',
    )
    ),
    'filter' => false,
    'sortable' => false,
    'index' => 'stores',
    'is_system' => true,
    ));
    }
    //$this->addRssList('rss/order/new', Mage::helper('sales')->__('New Order RSS'));

    $this->addExportType('*/*/exportCsv', Mage::helper('sales')->__('CSV'));
    $this->addExportType('*/*/exportExcel', Mage::helper('sales')->__('Excel XML'));

    return parent::_prepareColumns();
    }

    protected function _prepareMassaction()
    {
    $this->setMassactionIdField('entity_id');
    $this->getMassactionBlock()->setFormFieldName('order_ids');
    $this->getMassactionBlock()->setUseSelectAll(false);

    if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/cancel')) {
    $this->getMassactionBlock()->addItem('cancel_order', array(
    'label'=> Mage::helper('sales')->__('Cancel'),
    'url' => $this->getUrl('*/sales_order/massCancel'),
    ));
    }

    if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/hold')) {
    $this->getMassactionBlock()->addItem('hold_order', array(
    'label'=> Mage::helper('sales')->__('Hold'),
    'url' => $this->getUrl('*/sales_order/massHold'),
    ));
    }

    if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/unhold')) {
    $this->getMassactionBlock()->addItem('unhold_order', array(
    'label'=> Mage::helper('sales')->__('Unhold'),
    'url' => $this->getUrl('*/sales_order/massUnhold'),
    ));
    }

    $this->getMassactionBlock()->addItem('pdfinvoices_order', array(
    'label'=> Mage::helper('sales')->__('Print Invoices'),
    'url' => $this->getUrl('*/sales_order/pdfinvoices'),
    ));

    $this->getMassactionBlock()->addItem('pdfshipments_order', array(
    'label'=> Mage::helper('sales')->__('Print Packingslips'),
    'url' => $this->getUrl('*/sales_order/pdfshipments'),
    ));

    $this->getMassactionBlock()->addItem('pdfcreditmemos_order', array(
    'label'=> Mage::helper('sales')->__('Print Credit Memos'),
    'url' => $this->getUrl('*/sales_order/pdfcreditmemos'),
    ));

    $this->getMassactionBlock()->addItem('pdfdocs_order', array(
    'label'=> Mage::helper('sales')->__('Print All'),
    'url' => $this->getUrl('*/sales_order/pdfdocs'),
    ));

    $this->getMassactionBlock()->addItem('print_shipping_label', array(
    'label'=> Mage::helper('sales')->__('Print Shipping Labels'),
    'url' => $this->getUrl('*/sales_order_shipment/massPrintShippingLabel'),
    ));

    return $this;
    }

    public function getRowUrl($row)
    {
    if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/view')) {
    return $this->getUrl('*/sales_order/view', array('order_id' => $row->getId()));
    }
    return false;
    }

    public function getGridUrl()
    {
    return $this->getUrl('*/*/grid', array('_current'=>true));
    }

    }









    share|improve this question














    bumped to the homepage by Community 10 mins ago


    This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.


















      0












      0








      0








      I have the following code to show some extra columns in the sales order grid. It correctly shows the columns and data, but when I try to click an order it says "No order exists".



      I wondered if anyone can spot where I might be going wrong?



      This code is in: /app/code/local/Mage/Adminhtml/Block/Sales/Order/Grid.php



      class Mage_Adminhtml_Block_Sales_Order_Grid extends Mage_Adminhtml_Block_Widget_Grid
      {

      public function __construct()
      {
      parent::__construct();
      $this->setId('sales_order_grid');
      $this->setUseAjax(true);
      $this->setDefaultSort('created_at');
      $this->setDefaultDir('DESC');
      $this->setSaveParametersInSession(true);
      }

      /**
      * Retrieve collection class
      *
      * @return string
      */
      protected function _getCollectionClass()
      {
      return 'sales/order_grid_collection';
      }

      protected function _prepareCollection()
      {
      $collection = Mage::getResourceModel($this->_getCollectionClass());

      $collection->getSelect()->join(array('billing'=>'sales_flat_order_address'),'main_table.entity_id=billing.parent_id and billing.address_type="billing"',array('*'));

      $collection->getSelect()->join(array('shipping'=>'sales_flat_order_address'),'main_table.entity_id=shipping.parent_id and shipping.address_type="shipping"',array('shipping.company as shipping_company'));



      $this->setCollection($collection);

      parent::_prepareCollection();
      return Mage_Adminhtml_Block_Widget_Grid::_prepareCollection();
      }

      protected function _prepareColumns()
      {

      $this->addColumn('real_order_id', array(
      'header'=> Mage::helper('sales')->__('Order #'),
      'width' => '80px',
      'type' => 'text',
      'index' => 'increment_id',
      ));

      $this->addColumn('created_at', array(
      'header' => Mage::helper('sales')->__('Order Date'),
      'index' => 'created_at',
      'type' => 'datetime',
      'width' => '100px',
      ));

      $this->addColumn('billing_name', array(
      'header' => Mage::helper('sales')->__('Billing Name'),
      'index' => 'billing_name',
      ));

      $this->addColumn('company', array(
      'header' => Mage::helper('sales')->__('Billing Company'),
      'index' => 'company',
      'filter_index' => 'billing.company',
      ));

      $this->addColumn('shipping_name', array(
      'header' => Mage::helper('sales')->__('Shipping Name'),
      'index' => 'shipping_name',
      ));

      $this->addColumn('shipping_company', array(
      'header' => Mage::helper('sales')->__('Shipping Company'),
      'index' => 'shipping_company',
      'filter_index' => 'shipping.company',
      ));

      $this->addColumn('grand_total', array(
      'header' => Mage::helper('sales')->__('Grand Total'),
      'index' => 'grand_total',
      'type' => 'currency',
      'currency' => 'order_currency_code',
      ));

      $this->addColumn('status', array(
      'header' => Mage::helper('sales')->__('Status'),
      'index' => 'status',
      'type' => 'options',
      'width' => '70px',
      'options' => Mage::getSingleton('sales/order_config')->getStatuses(),
      ));

      if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/view')) {
      $this->addColumn('action',
      array(
      'header' => Mage::helper('sales')->__('Action'),
      'width' => '50px',
      'type' => 'action',
      'getter' => 'getId',
      'actions' => array(
      array(
      'caption' => Mage::helper('sales')->__('View'),
      'url' => array('base'=>'*/sales_order/view'),
      'field' => 'order_id',
      'data-column' => 'action',
      )
      ),
      'filter' => false,
      'sortable' => false,
      'index' => 'stores',
      'is_system' => true,
      ));
      }
      //$this->addRssList('rss/order/new', Mage::helper('sales')->__('New Order RSS'));

      $this->addExportType('*/*/exportCsv', Mage::helper('sales')->__('CSV'));
      $this->addExportType('*/*/exportExcel', Mage::helper('sales')->__('Excel XML'));

      return parent::_prepareColumns();
      }

      protected function _prepareMassaction()
      {
      $this->setMassactionIdField('entity_id');
      $this->getMassactionBlock()->setFormFieldName('order_ids');
      $this->getMassactionBlock()->setUseSelectAll(false);

      if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/cancel')) {
      $this->getMassactionBlock()->addItem('cancel_order', array(
      'label'=> Mage::helper('sales')->__('Cancel'),
      'url' => $this->getUrl('*/sales_order/massCancel'),
      ));
      }

      if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/hold')) {
      $this->getMassactionBlock()->addItem('hold_order', array(
      'label'=> Mage::helper('sales')->__('Hold'),
      'url' => $this->getUrl('*/sales_order/massHold'),
      ));
      }

      if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/unhold')) {
      $this->getMassactionBlock()->addItem('unhold_order', array(
      'label'=> Mage::helper('sales')->__('Unhold'),
      'url' => $this->getUrl('*/sales_order/massUnhold'),
      ));
      }

      $this->getMassactionBlock()->addItem('pdfinvoices_order', array(
      'label'=> Mage::helper('sales')->__('Print Invoices'),
      'url' => $this->getUrl('*/sales_order/pdfinvoices'),
      ));

      $this->getMassactionBlock()->addItem('pdfshipments_order', array(
      'label'=> Mage::helper('sales')->__('Print Packingslips'),
      'url' => $this->getUrl('*/sales_order/pdfshipments'),
      ));

      $this->getMassactionBlock()->addItem('pdfcreditmemos_order', array(
      'label'=> Mage::helper('sales')->__('Print Credit Memos'),
      'url' => $this->getUrl('*/sales_order/pdfcreditmemos'),
      ));

      $this->getMassactionBlock()->addItem('pdfdocs_order', array(
      'label'=> Mage::helper('sales')->__('Print All'),
      'url' => $this->getUrl('*/sales_order/pdfdocs'),
      ));

      $this->getMassactionBlock()->addItem('print_shipping_label', array(
      'label'=> Mage::helper('sales')->__('Print Shipping Labels'),
      'url' => $this->getUrl('*/sales_order_shipment/massPrintShippingLabel'),
      ));

      return $this;
      }

      public function getRowUrl($row)
      {
      if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/view')) {
      return $this->getUrl('*/sales_order/view', array('order_id' => $row->getId()));
      }
      return false;
      }

      public function getGridUrl()
      {
      return $this->getUrl('*/*/grid', array('_current'=>true));
      }

      }









      share|improve this question














      I have the following code to show some extra columns in the sales order grid. It correctly shows the columns and data, but when I try to click an order it says "No order exists".



      I wondered if anyone can spot where I might be going wrong?



      This code is in: /app/code/local/Mage/Adminhtml/Block/Sales/Order/Grid.php



      class Mage_Adminhtml_Block_Sales_Order_Grid extends Mage_Adminhtml_Block_Widget_Grid
      {

      public function __construct()
      {
      parent::__construct();
      $this->setId('sales_order_grid');
      $this->setUseAjax(true);
      $this->setDefaultSort('created_at');
      $this->setDefaultDir('DESC');
      $this->setSaveParametersInSession(true);
      }

      /**
      * Retrieve collection class
      *
      * @return string
      */
      protected function _getCollectionClass()
      {
      return 'sales/order_grid_collection';
      }

      protected function _prepareCollection()
      {
      $collection = Mage::getResourceModel($this->_getCollectionClass());

      $collection->getSelect()->join(array('billing'=>'sales_flat_order_address'),'main_table.entity_id=billing.parent_id and billing.address_type="billing"',array('*'));

      $collection->getSelect()->join(array('shipping'=>'sales_flat_order_address'),'main_table.entity_id=shipping.parent_id and shipping.address_type="shipping"',array('shipping.company as shipping_company'));



      $this->setCollection($collection);

      parent::_prepareCollection();
      return Mage_Adminhtml_Block_Widget_Grid::_prepareCollection();
      }

      protected function _prepareColumns()
      {

      $this->addColumn('real_order_id', array(
      'header'=> Mage::helper('sales')->__('Order #'),
      'width' => '80px',
      'type' => 'text',
      'index' => 'increment_id',
      ));

      $this->addColumn('created_at', array(
      'header' => Mage::helper('sales')->__('Order Date'),
      'index' => 'created_at',
      'type' => 'datetime',
      'width' => '100px',
      ));

      $this->addColumn('billing_name', array(
      'header' => Mage::helper('sales')->__('Billing Name'),
      'index' => 'billing_name',
      ));

      $this->addColumn('company', array(
      'header' => Mage::helper('sales')->__('Billing Company'),
      'index' => 'company',
      'filter_index' => 'billing.company',
      ));

      $this->addColumn('shipping_name', array(
      'header' => Mage::helper('sales')->__('Shipping Name'),
      'index' => 'shipping_name',
      ));

      $this->addColumn('shipping_company', array(
      'header' => Mage::helper('sales')->__('Shipping Company'),
      'index' => 'shipping_company',
      'filter_index' => 'shipping.company',
      ));

      $this->addColumn('grand_total', array(
      'header' => Mage::helper('sales')->__('Grand Total'),
      'index' => 'grand_total',
      'type' => 'currency',
      'currency' => 'order_currency_code',
      ));

      $this->addColumn('status', array(
      'header' => Mage::helper('sales')->__('Status'),
      'index' => 'status',
      'type' => 'options',
      'width' => '70px',
      'options' => Mage::getSingleton('sales/order_config')->getStatuses(),
      ));

      if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/view')) {
      $this->addColumn('action',
      array(
      'header' => Mage::helper('sales')->__('Action'),
      'width' => '50px',
      'type' => 'action',
      'getter' => 'getId',
      'actions' => array(
      array(
      'caption' => Mage::helper('sales')->__('View'),
      'url' => array('base'=>'*/sales_order/view'),
      'field' => 'order_id',
      'data-column' => 'action',
      )
      ),
      'filter' => false,
      'sortable' => false,
      'index' => 'stores',
      'is_system' => true,
      ));
      }
      //$this->addRssList('rss/order/new', Mage::helper('sales')->__('New Order RSS'));

      $this->addExportType('*/*/exportCsv', Mage::helper('sales')->__('CSV'));
      $this->addExportType('*/*/exportExcel', Mage::helper('sales')->__('Excel XML'));

      return parent::_prepareColumns();
      }

      protected function _prepareMassaction()
      {
      $this->setMassactionIdField('entity_id');
      $this->getMassactionBlock()->setFormFieldName('order_ids');
      $this->getMassactionBlock()->setUseSelectAll(false);

      if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/cancel')) {
      $this->getMassactionBlock()->addItem('cancel_order', array(
      'label'=> Mage::helper('sales')->__('Cancel'),
      'url' => $this->getUrl('*/sales_order/massCancel'),
      ));
      }

      if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/hold')) {
      $this->getMassactionBlock()->addItem('hold_order', array(
      'label'=> Mage::helper('sales')->__('Hold'),
      'url' => $this->getUrl('*/sales_order/massHold'),
      ));
      }

      if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/unhold')) {
      $this->getMassactionBlock()->addItem('unhold_order', array(
      'label'=> Mage::helper('sales')->__('Unhold'),
      'url' => $this->getUrl('*/sales_order/massUnhold'),
      ));
      }

      $this->getMassactionBlock()->addItem('pdfinvoices_order', array(
      'label'=> Mage::helper('sales')->__('Print Invoices'),
      'url' => $this->getUrl('*/sales_order/pdfinvoices'),
      ));

      $this->getMassactionBlock()->addItem('pdfshipments_order', array(
      'label'=> Mage::helper('sales')->__('Print Packingslips'),
      'url' => $this->getUrl('*/sales_order/pdfshipments'),
      ));

      $this->getMassactionBlock()->addItem('pdfcreditmemos_order', array(
      'label'=> Mage::helper('sales')->__('Print Credit Memos'),
      'url' => $this->getUrl('*/sales_order/pdfcreditmemos'),
      ));

      $this->getMassactionBlock()->addItem('pdfdocs_order', array(
      'label'=> Mage::helper('sales')->__('Print All'),
      'url' => $this->getUrl('*/sales_order/pdfdocs'),
      ));

      $this->getMassactionBlock()->addItem('print_shipping_label', array(
      'label'=> Mage::helper('sales')->__('Print Shipping Labels'),
      'url' => $this->getUrl('*/sales_order_shipment/massPrintShippingLabel'),
      ));

      return $this;
      }

      public function getRowUrl($row)
      {
      if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/view')) {
      return $this->getUrl('*/sales_order/view', array('order_id' => $row->getId()));
      }
      return false;
      }

      public function getGridUrl()
      {
      return $this->getUrl('*/*/grid', array('_current'=>true));
      }

      }






      magento-1.9 sales-order order-grid






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jul 11 '16 at 11:48









      doubleplusgooddoubleplusgood

      83316




      83316





      bumped to the homepage by Community 10 mins ago


      This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.







      bumped to the homepage by Community 10 mins ago


      This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
























          2 Answers
          2






          active

          oldest

          votes


















          0














          This gist shows the changes from my 1.9ish Grid.php



          --- Grid.php    2015-10-20 15:37:24.000000000 +0100
          +++ Delete.php 2016-07-11 13:12:38.000000000 +0100
          @@ -57,8 +57,17 @@
          protected function _prepareCollection()
          {
          $collection = Mage::getResourceModel($this->_getCollectionClass());
          +
          + $collection->getSelect()->join(array('billing'=>'sales_flat_order_address'),'main_table.entity_id=billing.parent_id and billing.address_type="billing"',array('*'));
          +
          + $collection->getSelect()->join(array('shipping'=>'sales_flat_order_address'),'main_table.entity_id=shipping.parent_id and shipping.address_type="shipping"',array('shipping.company as shipping_company'));
          +
          +
          +
          $this->setCollection($collection);
          - return parent::_prepareCollection();
          +
          + parent::_prepareCollection();
          + return Mage_Adminhtml_Block_Widget_Grid::_prepareCollection();
          }

          protected function _prepareColumns()
          @@ -71,42 +80,37 @@
          'index' => 'increment_id',
          ));

          - if (!Mage::app()->isSingleStoreMode()) {
          - $this->addColumn('store_id', array(
          - 'header' => Mage::helper('sales')->__('Purchased From (Store)'),
          - 'index' => 'store_id',
          - 'type' => 'store',
          - 'store_view'=> true,
          - 'display_deleted' => true,
          - ));
          - }
          -
          $this->addColumn('created_at', array(
          - 'header' => Mage::helper('sales')->__('Purchased On'),
          + 'header' => Mage::helper('sales')->__('Order Date'),
          'index' => 'created_at',
          'type' => 'datetime',
          'width' => '100px',
          ));

          $this->addColumn('billing_name', array(
          - 'header' => Mage::helper('sales')->__('Bill to Name'),
          + 'header' => Mage::helper('sales')->__('Billing Name'),
          'index' => 'billing_name',
          ));

          + $this->addColumn('company', array(
          + 'header' => Mage::helper('sales')->__('Billing Company'),
          + 'index' => 'company',
          + 'filter_index' => 'billing.company',
          + ));
          +
          $this->addColumn('shipping_name', array(
          - 'header' => Mage::helper('sales')->__('Ship to Name'),
          + 'header' => Mage::helper('sales')->__('Shipping Name'),
          'index' => 'shipping_name',
          ));

          - $this->addColumn('base_grand_total', array(
          - 'header' => Mage::helper('sales')->__('G.T. (Base)'),
          - 'index' => 'base_grand_total',
          - 'type' => 'currency',
          - 'currency' => 'base_currency_code',
          + $this->addColumn('shipping_company', array(
          + 'header' => Mage::helper('sales')->__('Shipping Company'),
          + 'index' => 'shipping_company',
          + 'filter_index' => 'shipping.company',
          ));

          $this->addColumn('grand_total', array(
          - 'header' => Mage::helper('sales')->__('G.T. (Purchased)'),
          + 'header' => Mage::helper('sales')->__('Grand Total'),
          'index' => 'grand_total',
          'type' => 'currency',
          'currency' => 'order_currency_code',
          @@ -141,7 +145,7 @@
          'is_system' => true,
          ));
          }
          - $this->addRssList('rss/order/new', Mage::helper('sales')->__('New Order RSS'));
          + //$this->addRssList('rss/order/new', Mage::helper('sales')->__('New Order RSS'));

          $this->addExportType('*/*/exportCsv', Mage::helper('sales')->__('CSV'));
          $this->addExportType('*/*/exportExcel', Mage::helper('sales')->__('Excel XML'));


          The bit that's weird is why you're calling prepareCollectin twice but it doesn't look like that would affect the view link. You might want to post the full diff of what you changed, against your base version of magento, and also what is getting generated as the view url for each row.






          share|improve this answer
























          • Hi Richard. Thanks for sharing. I left the default Grid.php alone and replicated in my local folder as above.

            – doubleplusgood
            Jul 11 '16 at 14:20











          • A bump to see if anyone else has any thoughts on this one? Thank you. :)

            – doubleplusgood
            Jul 20 '16 at 16:05



















          0














          Got this working finally with the following code:



          <?php
          /**
          * Magento
          *
          * NOTICE OF LICENSE
          *
          * This source file is subject to the Open Software License (OSL 3.0)
          * that is bundled with this package in the file LICENSE.txt.
          * It is also available through the world-wide-web at this URL:
          * http://opensource.org/licenses/osl-3.0.php
          * If you did not receive a copy of the license and are unable to
          * obtain it through the world-wide-web, please send an email
          * to license@magentocommerce.com so we can send you a copy immediately.
          *
          * DISCLAIMER
          *
          * Do not edit or add to this file if you wish to upgrade Magento to newer
          * versions in the future. If you wish to customize Magento for your
          * needs please refer to http://www.magentocommerce.com for more information.
          *
          * @category Mage
          * @package Mage_Adminhtml
          * @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
          * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
          */

          /**
          * Adminhtml sales orders grid
          *
          * @category Mage
          * @package Mage_Adminhtml
          * @author Magento Core Team <core@magentocommerce.com>
          */
          class Mage_Adminhtml_Block_Sales_Order_Grid extends Mage_Adminhtml_Block_Widget_Grid
          {

          public function __construct()
          {
          parent::__construct();
          $this->setId('sales_order_grid');
          $this->setUseAjax(true);
          $this->setDefaultSort('created_at');
          $this->setDefaultDir('DESC');
          $this->setSaveParametersInSession(true);
          }

          /**
          * Retrieve collection class
          *
          * @return string
          */
          protected function _getCollectionClass()
          {
          return 'sales/order_grid_collection';
          }

          protected function _prepareCollection()
          {
          $collection = Mage::getResourceModel($this->_getCollectionClass());

          $collection->getSelect()->join(array('billing'=>'sales_flat_order_address'),'main_table.entity_id=billing.parent_id and billing.address_type="billing"',array('billing.company as billing_company'));

          $collection->getSelect()->join(array('shipping'=>'sales_flat_order_address'),'main_table.entity_id=shipping.parent_id and shipping.address_type="shipping"',array('shipping.company as shipping_company'));

          $this->setCollection($collection);
          return parent::_prepareCollection();
          }

          protected function _prepareColumns()
          {

          $this->addColumn('real_order_id', array(
          'header'=> Mage::helper('sales')->__('Order #'),
          'width' => '80px',
          'type' => 'text',
          'index' => 'increment_id',
          ));

          if (!Mage::app()->isSingleStoreMode()) {
          $this->addColumn('store_id', array(
          'header' => Mage::helper('sales')->__('Purchased From (Store)'),
          'index' => 'store_id',
          'type' => 'store',
          'store_view'=> true,
          'display_deleted' => true,
          ));
          }

          $this->addColumn('created_at', array(
          'header' => Mage::helper('sales')->__('Purchased On'),
          'index' => 'created_at',
          'type' => 'datetime',
          'width' => '100px',
          ));

          $this->addColumn('billing_name', array(
          'header' => Mage::helper('sales')->__('Bill to Name'),
          'index' => 'billing_name',
          ));

          $this->addColumn('company', array(
          'header' => Mage::helper('sales')->__('Billing Company'),
          'index' => 'billing_company',
          'filter_index' => 'billing.company',
          ));

          $this->addColumn('shipping_name', array(
          'header' => Mage::helper('sales')->__('Ship to Name'),
          'index' => 'shipping_name',
          ));

          $this->addColumn('shipping_company', array(
          'header' => Mage::helper('sales')->__('Shipping Company'),
          'index' => 'shipping_company',
          'filter_index' => 'shipping.company',
          ));

          $this->addColumn('base_grand_total', array(
          'header' => Mage::helper('sales')->__('G.T. (Base)'),
          'index' => 'base_grand_total',
          'type' => 'currency',
          'currency' => 'base_currency_code',
          ));

          $this->addColumn('grand_total', array(
          'header' => Mage::helper('sales')->__('G.T. (Purchased)'),
          'index' => 'grand_total',
          'type' => 'currency',
          'currency' => 'order_currency_code',
          ));

          $this->addColumn('status', array(
          'header' => Mage::helper('sales')->__('Status'),
          'index' => 'status',
          'type' => 'options',
          'width' => '70px',
          'options' => Mage::getSingleton('sales/order_config')->getStatuses(),
          ));

          if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/view')) {
          $this->addColumn('action',
          array(
          'header' => Mage::helper('sales')->__('Action'),
          'width' => '50px',
          'type' => 'action',
          'getter' => 'getId',
          'actions' => array(
          array(
          'caption' => Mage::helper('sales')->__('View'),
          'url' => array('base'=>'*/sales_order/view'),
          'field' => 'order_id',
          'data-column' => 'action',
          )
          ),
          'filter' => false,
          'sortable' => false,
          'index' => 'stores',
          'is_system' => true,
          ));
          }
          $this->addRssList('rss/order/new', Mage::helper('sales')->__('New Order RSS'));

          $this->addExportType('*/*/exportCsv', Mage::helper('sales')->__('CSV'));
          $this->addExportType('*/*/exportExcel', Mage::helper('sales')->__('Excel XML'));

          return parent::_prepareColumns();
          }

          protected function _prepareMassaction()
          {
          $this->setMassactionIdField('entity_id');
          $this->getMassactionBlock()->setFormFieldName('order_ids');
          $this->getMassactionBlock()->setUseSelectAll(false);

          if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/cancel')) {
          $this->getMassactionBlock()->addItem('cancel_order', array(
          'label'=> Mage::helper('sales')->__('Cancel'),
          'url' => $this->getUrl('*/sales_order/massCancel'),
          ));
          }

          if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/hold')) {
          $this->getMassactionBlock()->addItem('hold_order', array(
          'label'=> Mage::helper('sales')->__('Hold'),
          'url' => $this->getUrl('*/sales_order/massHold'),
          ));
          }

          if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/unhold')) {
          $this->getMassactionBlock()->addItem('unhold_order', array(
          'label'=> Mage::helper('sales')->__('Unhold'),
          'url' => $this->getUrl('*/sales_order/massUnhold'),
          ));
          }

          $this->getMassactionBlock()->addItem('pdfinvoices_order', array(
          'label'=> Mage::helper('sales')->__('Print Invoices'),
          'url' => $this->getUrl('*/sales_order/pdfinvoices'),
          ));

          $this->getMassactionBlock()->addItem('pdfshipments_order', array(
          'label'=> Mage::helper('sales')->__('Print Packingslips'),
          'url' => $this->getUrl('*/sales_order/pdfshipments'),
          ));

          $this->getMassactionBlock()->addItem('pdfcreditmemos_order', array(
          'label'=> Mage::helper('sales')->__('Print Credit Memos'),
          'url' => $this->getUrl('*/sales_order/pdfcreditmemos'),
          ));

          $this->getMassactionBlock()->addItem('pdfdocs_order', array(
          'label'=> Mage::helper('sales')->__('Print All'),
          'url' => $this->getUrl('*/sales_order/pdfdocs'),
          ));

          $this->getMassactionBlock()->addItem('print_shipping_label', array(
          'label'=> Mage::helper('sales')->__('Print Shipping Labels'),
          'url' => $this->getUrl('*/sales_order_shipment/massPrintShippingLabel'),
          ));

          return $this;
          }

          public function getRowUrl($row)
          {
          if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/view')) {
          return $this->getUrl('*/sales_order/view', array('order_id' => $row->getId()));
          }
          return false;
          }

          public function getGridUrl()
          {
          return $this->getUrl('*/*/grid', array('_current'=>true));
          }

          }





          share|improve this answer























            Your Answer








            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "479"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f125155%2fdisplaying-columns-in-sales-order-grid%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            This gist shows the changes from my 1.9ish Grid.php



            --- Grid.php    2015-10-20 15:37:24.000000000 +0100
            +++ Delete.php 2016-07-11 13:12:38.000000000 +0100
            @@ -57,8 +57,17 @@
            protected function _prepareCollection()
            {
            $collection = Mage::getResourceModel($this->_getCollectionClass());
            +
            + $collection->getSelect()->join(array('billing'=>'sales_flat_order_address'),'main_table.entity_id=billing.parent_id and billing.address_type="billing"',array('*'));
            +
            + $collection->getSelect()->join(array('shipping'=>'sales_flat_order_address'),'main_table.entity_id=shipping.parent_id and shipping.address_type="shipping"',array('shipping.company as shipping_company'));
            +
            +
            +
            $this->setCollection($collection);
            - return parent::_prepareCollection();
            +
            + parent::_prepareCollection();
            + return Mage_Adminhtml_Block_Widget_Grid::_prepareCollection();
            }

            protected function _prepareColumns()
            @@ -71,42 +80,37 @@
            'index' => 'increment_id',
            ));

            - if (!Mage::app()->isSingleStoreMode()) {
            - $this->addColumn('store_id', array(
            - 'header' => Mage::helper('sales')->__('Purchased From (Store)'),
            - 'index' => 'store_id',
            - 'type' => 'store',
            - 'store_view'=> true,
            - 'display_deleted' => true,
            - ));
            - }
            -
            $this->addColumn('created_at', array(
            - 'header' => Mage::helper('sales')->__('Purchased On'),
            + 'header' => Mage::helper('sales')->__('Order Date'),
            'index' => 'created_at',
            'type' => 'datetime',
            'width' => '100px',
            ));

            $this->addColumn('billing_name', array(
            - 'header' => Mage::helper('sales')->__('Bill to Name'),
            + 'header' => Mage::helper('sales')->__('Billing Name'),
            'index' => 'billing_name',
            ));

            + $this->addColumn('company', array(
            + 'header' => Mage::helper('sales')->__('Billing Company'),
            + 'index' => 'company',
            + 'filter_index' => 'billing.company',
            + ));
            +
            $this->addColumn('shipping_name', array(
            - 'header' => Mage::helper('sales')->__('Ship to Name'),
            + 'header' => Mage::helper('sales')->__('Shipping Name'),
            'index' => 'shipping_name',
            ));

            - $this->addColumn('base_grand_total', array(
            - 'header' => Mage::helper('sales')->__('G.T. (Base)'),
            - 'index' => 'base_grand_total',
            - 'type' => 'currency',
            - 'currency' => 'base_currency_code',
            + $this->addColumn('shipping_company', array(
            + 'header' => Mage::helper('sales')->__('Shipping Company'),
            + 'index' => 'shipping_company',
            + 'filter_index' => 'shipping.company',
            ));

            $this->addColumn('grand_total', array(
            - 'header' => Mage::helper('sales')->__('G.T. (Purchased)'),
            + 'header' => Mage::helper('sales')->__('Grand Total'),
            'index' => 'grand_total',
            'type' => 'currency',
            'currency' => 'order_currency_code',
            @@ -141,7 +145,7 @@
            'is_system' => true,
            ));
            }
            - $this->addRssList('rss/order/new', Mage::helper('sales')->__('New Order RSS'));
            + //$this->addRssList('rss/order/new', Mage::helper('sales')->__('New Order RSS'));

            $this->addExportType('*/*/exportCsv', Mage::helper('sales')->__('CSV'));
            $this->addExportType('*/*/exportExcel', Mage::helper('sales')->__('Excel XML'));


            The bit that's weird is why you're calling prepareCollectin twice but it doesn't look like that would affect the view link. You might want to post the full diff of what you changed, against your base version of magento, and also what is getting generated as the view url for each row.






            share|improve this answer
























            • Hi Richard. Thanks for sharing. I left the default Grid.php alone and replicated in my local folder as above.

              – doubleplusgood
              Jul 11 '16 at 14:20











            • A bump to see if anyone else has any thoughts on this one? Thank you. :)

              – doubleplusgood
              Jul 20 '16 at 16:05
















            0














            This gist shows the changes from my 1.9ish Grid.php



            --- Grid.php    2015-10-20 15:37:24.000000000 +0100
            +++ Delete.php 2016-07-11 13:12:38.000000000 +0100
            @@ -57,8 +57,17 @@
            protected function _prepareCollection()
            {
            $collection = Mage::getResourceModel($this->_getCollectionClass());
            +
            + $collection->getSelect()->join(array('billing'=>'sales_flat_order_address'),'main_table.entity_id=billing.parent_id and billing.address_type="billing"',array('*'));
            +
            + $collection->getSelect()->join(array('shipping'=>'sales_flat_order_address'),'main_table.entity_id=shipping.parent_id and shipping.address_type="shipping"',array('shipping.company as shipping_company'));
            +
            +
            +
            $this->setCollection($collection);
            - return parent::_prepareCollection();
            +
            + parent::_prepareCollection();
            + return Mage_Adminhtml_Block_Widget_Grid::_prepareCollection();
            }

            protected function _prepareColumns()
            @@ -71,42 +80,37 @@
            'index' => 'increment_id',
            ));

            - if (!Mage::app()->isSingleStoreMode()) {
            - $this->addColumn('store_id', array(
            - 'header' => Mage::helper('sales')->__('Purchased From (Store)'),
            - 'index' => 'store_id',
            - 'type' => 'store',
            - 'store_view'=> true,
            - 'display_deleted' => true,
            - ));
            - }
            -
            $this->addColumn('created_at', array(
            - 'header' => Mage::helper('sales')->__('Purchased On'),
            + 'header' => Mage::helper('sales')->__('Order Date'),
            'index' => 'created_at',
            'type' => 'datetime',
            'width' => '100px',
            ));

            $this->addColumn('billing_name', array(
            - 'header' => Mage::helper('sales')->__('Bill to Name'),
            + 'header' => Mage::helper('sales')->__('Billing Name'),
            'index' => 'billing_name',
            ));

            + $this->addColumn('company', array(
            + 'header' => Mage::helper('sales')->__('Billing Company'),
            + 'index' => 'company',
            + 'filter_index' => 'billing.company',
            + ));
            +
            $this->addColumn('shipping_name', array(
            - 'header' => Mage::helper('sales')->__('Ship to Name'),
            + 'header' => Mage::helper('sales')->__('Shipping Name'),
            'index' => 'shipping_name',
            ));

            - $this->addColumn('base_grand_total', array(
            - 'header' => Mage::helper('sales')->__('G.T. (Base)'),
            - 'index' => 'base_grand_total',
            - 'type' => 'currency',
            - 'currency' => 'base_currency_code',
            + $this->addColumn('shipping_company', array(
            + 'header' => Mage::helper('sales')->__('Shipping Company'),
            + 'index' => 'shipping_company',
            + 'filter_index' => 'shipping.company',
            ));

            $this->addColumn('grand_total', array(
            - 'header' => Mage::helper('sales')->__('G.T. (Purchased)'),
            + 'header' => Mage::helper('sales')->__('Grand Total'),
            'index' => 'grand_total',
            'type' => 'currency',
            'currency' => 'order_currency_code',
            @@ -141,7 +145,7 @@
            'is_system' => true,
            ));
            }
            - $this->addRssList('rss/order/new', Mage::helper('sales')->__('New Order RSS'));
            + //$this->addRssList('rss/order/new', Mage::helper('sales')->__('New Order RSS'));

            $this->addExportType('*/*/exportCsv', Mage::helper('sales')->__('CSV'));
            $this->addExportType('*/*/exportExcel', Mage::helper('sales')->__('Excel XML'));


            The bit that's weird is why you're calling prepareCollectin twice but it doesn't look like that would affect the view link. You might want to post the full diff of what you changed, against your base version of magento, and also what is getting generated as the view url for each row.






            share|improve this answer
























            • Hi Richard. Thanks for sharing. I left the default Grid.php alone and replicated in my local folder as above.

              – doubleplusgood
              Jul 11 '16 at 14:20











            • A bump to see if anyone else has any thoughts on this one? Thank you. :)

              – doubleplusgood
              Jul 20 '16 at 16:05














            0












            0








            0







            This gist shows the changes from my 1.9ish Grid.php



            --- Grid.php    2015-10-20 15:37:24.000000000 +0100
            +++ Delete.php 2016-07-11 13:12:38.000000000 +0100
            @@ -57,8 +57,17 @@
            protected function _prepareCollection()
            {
            $collection = Mage::getResourceModel($this->_getCollectionClass());
            +
            + $collection->getSelect()->join(array('billing'=>'sales_flat_order_address'),'main_table.entity_id=billing.parent_id and billing.address_type="billing"',array('*'));
            +
            + $collection->getSelect()->join(array('shipping'=>'sales_flat_order_address'),'main_table.entity_id=shipping.parent_id and shipping.address_type="shipping"',array('shipping.company as shipping_company'));
            +
            +
            +
            $this->setCollection($collection);
            - return parent::_prepareCollection();
            +
            + parent::_prepareCollection();
            + return Mage_Adminhtml_Block_Widget_Grid::_prepareCollection();
            }

            protected function _prepareColumns()
            @@ -71,42 +80,37 @@
            'index' => 'increment_id',
            ));

            - if (!Mage::app()->isSingleStoreMode()) {
            - $this->addColumn('store_id', array(
            - 'header' => Mage::helper('sales')->__('Purchased From (Store)'),
            - 'index' => 'store_id',
            - 'type' => 'store',
            - 'store_view'=> true,
            - 'display_deleted' => true,
            - ));
            - }
            -
            $this->addColumn('created_at', array(
            - 'header' => Mage::helper('sales')->__('Purchased On'),
            + 'header' => Mage::helper('sales')->__('Order Date'),
            'index' => 'created_at',
            'type' => 'datetime',
            'width' => '100px',
            ));

            $this->addColumn('billing_name', array(
            - 'header' => Mage::helper('sales')->__('Bill to Name'),
            + 'header' => Mage::helper('sales')->__('Billing Name'),
            'index' => 'billing_name',
            ));

            + $this->addColumn('company', array(
            + 'header' => Mage::helper('sales')->__('Billing Company'),
            + 'index' => 'company',
            + 'filter_index' => 'billing.company',
            + ));
            +
            $this->addColumn('shipping_name', array(
            - 'header' => Mage::helper('sales')->__('Ship to Name'),
            + 'header' => Mage::helper('sales')->__('Shipping Name'),
            'index' => 'shipping_name',
            ));

            - $this->addColumn('base_grand_total', array(
            - 'header' => Mage::helper('sales')->__('G.T. (Base)'),
            - 'index' => 'base_grand_total',
            - 'type' => 'currency',
            - 'currency' => 'base_currency_code',
            + $this->addColumn('shipping_company', array(
            + 'header' => Mage::helper('sales')->__('Shipping Company'),
            + 'index' => 'shipping_company',
            + 'filter_index' => 'shipping.company',
            ));

            $this->addColumn('grand_total', array(
            - 'header' => Mage::helper('sales')->__('G.T. (Purchased)'),
            + 'header' => Mage::helper('sales')->__('Grand Total'),
            'index' => 'grand_total',
            'type' => 'currency',
            'currency' => 'order_currency_code',
            @@ -141,7 +145,7 @@
            'is_system' => true,
            ));
            }
            - $this->addRssList('rss/order/new', Mage::helper('sales')->__('New Order RSS'));
            + //$this->addRssList('rss/order/new', Mage::helper('sales')->__('New Order RSS'));

            $this->addExportType('*/*/exportCsv', Mage::helper('sales')->__('CSV'));
            $this->addExportType('*/*/exportExcel', Mage::helper('sales')->__('Excel XML'));


            The bit that's weird is why you're calling prepareCollectin twice but it doesn't look like that would affect the view link. You might want to post the full diff of what you changed, against your base version of magento, and also what is getting generated as the view url for each row.






            share|improve this answer













            This gist shows the changes from my 1.9ish Grid.php



            --- Grid.php    2015-10-20 15:37:24.000000000 +0100
            +++ Delete.php 2016-07-11 13:12:38.000000000 +0100
            @@ -57,8 +57,17 @@
            protected function _prepareCollection()
            {
            $collection = Mage::getResourceModel($this->_getCollectionClass());
            +
            + $collection->getSelect()->join(array('billing'=>'sales_flat_order_address'),'main_table.entity_id=billing.parent_id and billing.address_type="billing"',array('*'));
            +
            + $collection->getSelect()->join(array('shipping'=>'sales_flat_order_address'),'main_table.entity_id=shipping.parent_id and shipping.address_type="shipping"',array('shipping.company as shipping_company'));
            +
            +
            +
            $this->setCollection($collection);
            - return parent::_prepareCollection();
            +
            + parent::_prepareCollection();
            + return Mage_Adminhtml_Block_Widget_Grid::_prepareCollection();
            }

            protected function _prepareColumns()
            @@ -71,42 +80,37 @@
            'index' => 'increment_id',
            ));

            - if (!Mage::app()->isSingleStoreMode()) {
            - $this->addColumn('store_id', array(
            - 'header' => Mage::helper('sales')->__('Purchased From (Store)'),
            - 'index' => 'store_id',
            - 'type' => 'store',
            - 'store_view'=> true,
            - 'display_deleted' => true,
            - ));
            - }
            -
            $this->addColumn('created_at', array(
            - 'header' => Mage::helper('sales')->__('Purchased On'),
            + 'header' => Mage::helper('sales')->__('Order Date'),
            'index' => 'created_at',
            'type' => 'datetime',
            'width' => '100px',
            ));

            $this->addColumn('billing_name', array(
            - 'header' => Mage::helper('sales')->__('Bill to Name'),
            + 'header' => Mage::helper('sales')->__('Billing Name'),
            'index' => 'billing_name',
            ));

            + $this->addColumn('company', array(
            + 'header' => Mage::helper('sales')->__('Billing Company'),
            + 'index' => 'company',
            + 'filter_index' => 'billing.company',
            + ));
            +
            $this->addColumn('shipping_name', array(
            - 'header' => Mage::helper('sales')->__('Ship to Name'),
            + 'header' => Mage::helper('sales')->__('Shipping Name'),
            'index' => 'shipping_name',
            ));

            - $this->addColumn('base_grand_total', array(
            - 'header' => Mage::helper('sales')->__('G.T. (Base)'),
            - 'index' => 'base_grand_total',
            - 'type' => 'currency',
            - 'currency' => 'base_currency_code',
            + $this->addColumn('shipping_company', array(
            + 'header' => Mage::helper('sales')->__('Shipping Company'),
            + 'index' => 'shipping_company',
            + 'filter_index' => 'shipping.company',
            ));

            $this->addColumn('grand_total', array(
            - 'header' => Mage::helper('sales')->__('G.T. (Purchased)'),
            + 'header' => Mage::helper('sales')->__('Grand Total'),
            'index' => 'grand_total',
            'type' => 'currency',
            'currency' => 'order_currency_code',
            @@ -141,7 +145,7 @@
            'is_system' => true,
            ));
            }
            - $this->addRssList('rss/order/new', Mage::helper('sales')->__('New Order RSS'));
            + //$this->addRssList('rss/order/new', Mage::helper('sales')->__('New Order RSS'));

            $this->addExportType('*/*/exportCsv', Mage::helper('sales')->__('CSV'));
            $this->addExportType('*/*/exportExcel', Mage::helper('sales')->__('Excel XML'));


            The bit that's weird is why you're calling prepareCollectin twice but it doesn't look like that would affect the view link. You might want to post the full diff of what you changed, against your base version of magento, and also what is getting generated as the view url for each row.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Jul 11 '16 at 12:26









            RichardRichard

            1,652717




            1,652717













            • Hi Richard. Thanks for sharing. I left the default Grid.php alone and replicated in my local folder as above.

              – doubleplusgood
              Jul 11 '16 at 14:20











            • A bump to see if anyone else has any thoughts on this one? Thank you. :)

              – doubleplusgood
              Jul 20 '16 at 16:05



















            • Hi Richard. Thanks for sharing. I left the default Grid.php alone and replicated in my local folder as above.

              – doubleplusgood
              Jul 11 '16 at 14:20











            • A bump to see if anyone else has any thoughts on this one? Thank you. :)

              – doubleplusgood
              Jul 20 '16 at 16:05

















            Hi Richard. Thanks for sharing. I left the default Grid.php alone and replicated in my local folder as above.

            – doubleplusgood
            Jul 11 '16 at 14:20





            Hi Richard. Thanks for sharing. I left the default Grid.php alone and replicated in my local folder as above.

            – doubleplusgood
            Jul 11 '16 at 14:20













            A bump to see if anyone else has any thoughts on this one? Thank you. :)

            – doubleplusgood
            Jul 20 '16 at 16:05





            A bump to see if anyone else has any thoughts on this one? Thank you. :)

            – doubleplusgood
            Jul 20 '16 at 16:05













            0














            Got this working finally with the following code:



            <?php
            /**
            * Magento
            *
            * NOTICE OF LICENSE
            *
            * This source file is subject to the Open Software License (OSL 3.0)
            * that is bundled with this package in the file LICENSE.txt.
            * It is also available through the world-wide-web at this URL:
            * http://opensource.org/licenses/osl-3.0.php
            * If you did not receive a copy of the license and are unable to
            * obtain it through the world-wide-web, please send an email
            * to license@magentocommerce.com so we can send you a copy immediately.
            *
            * DISCLAIMER
            *
            * Do not edit or add to this file if you wish to upgrade Magento to newer
            * versions in the future. If you wish to customize Magento for your
            * needs please refer to http://www.magentocommerce.com for more information.
            *
            * @category Mage
            * @package Mage_Adminhtml
            * @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
            * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
            */

            /**
            * Adminhtml sales orders grid
            *
            * @category Mage
            * @package Mage_Adminhtml
            * @author Magento Core Team <core@magentocommerce.com>
            */
            class Mage_Adminhtml_Block_Sales_Order_Grid extends Mage_Adminhtml_Block_Widget_Grid
            {

            public function __construct()
            {
            parent::__construct();
            $this->setId('sales_order_grid');
            $this->setUseAjax(true);
            $this->setDefaultSort('created_at');
            $this->setDefaultDir('DESC');
            $this->setSaveParametersInSession(true);
            }

            /**
            * Retrieve collection class
            *
            * @return string
            */
            protected function _getCollectionClass()
            {
            return 'sales/order_grid_collection';
            }

            protected function _prepareCollection()
            {
            $collection = Mage::getResourceModel($this->_getCollectionClass());

            $collection->getSelect()->join(array('billing'=>'sales_flat_order_address'),'main_table.entity_id=billing.parent_id and billing.address_type="billing"',array('billing.company as billing_company'));

            $collection->getSelect()->join(array('shipping'=>'sales_flat_order_address'),'main_table.entity_id=shipping.parent_id and shipping.address_type="shipping"',array('shipping.company as shipping_company'));

            $this->setCollection($collection);
            return parent::_prepareCollection();
            }

            protected function _prepareColumns()
            {

            $this->addColumn('real_order_id', array(
            'header'=> Mage::helper('sales')->__('Order #'),
            'width' => '80px',
            'type' => 'text',
            'index' => 'increment_id',
            ));

            if (!Mage::app()->isSingleStoreMode()) {
            $this->addColumn('store_id', array(
            'header' => Mage::helper('sales')->__('Purchased From (Store)'),
            'index' => 'store_id',
            'type' => 'store',
            'store_view'=> true,
            'display_deleted' => true,
            ));
            }

            $this->addColumn('created_at', array(
            'header' => Mage::helper('sales')->__('Purchased On'),
            'index' => 'created_at',
            'type' => 'datetime',
            'width' => '100px',
            ));

            $this->addColumn('billing_name', array(
            'header' => Mage::helper('sales')->__('Bill to Name'),
            'index' => 'billing_name',
            ));

            $this->addColumn('company', array(
            'header' => Mage::helper('sales')->__('Billing Company'),
            'index' => 'billing_company',
            'filter_index' => 'billing.company',
            ));

            $this->addColumn('shipping_name', array(
            'header' => Mage::helper('sales')->__('Ship to Name'),
            'index' => 'shipping_name',
            ));

            $this->addColumn('shipping_company', array(
            'header' => Mage::helper('sales')->__('Shipping Company'),
            'index' => 'shipping_company',
            'filter_index' => 'shipping.company',
            ));

            $this->addColumn('base_grand_total', array(
            'header' => Mage::helper('sales')->__('G.T. (Base)'),
            'index' => 'base_grand_total',
            'type' => 'currency',
            'currency' => 'base_currency_code',
            ));

            $this->addColumn('grand_total', array(
            'header' => Mage::helper('sales')->__('G.T. (Purchased)'),
            'index' => 'grand_total',
            'type' => 'currency',
            'currency' => 'order_currency_code',
            ));

            $this->addColumn('status', array(
            'header' => Mage::helper('sales')->__('Status'),
            'index' => 'status',
            'type' => 'options',
            'width' => '70px',
            'options' => Mage::getSingleton('sales/order_config')->getStatuses(),
            ));

            if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/view')) {
            $this->addColumn('action',
            array(
            'header' => Mage::helper('sales')->__('Action'),
            'width' => '50px',
            'type' => 'action',
            'getter' => 'getId',
            'actions' => array(
            array(
            'caption' => Mage::helper('sales')->__('View'),
            'url' => array('base'=>'*/sales_order/view'),
            'field' => 'order_id',
            'data-column' => 'action',
            )
            ),
            'filter' => false,
            'sortable' => false,
            'index' => 'stores',
            'is_system' => true,
            ));
            }
            $this->addRssList('rss/order/new', Mage::helper('sales')->__('New Order RSS'));

            $this->addExportType('*/*/exportCsv', Mage::helper('sales')->__('CSV'));
            $this->addExportType('*/*/exportExcel', Mage::helper('sales')->__('Excel XML'));

            return parent::_prepareColumns();
            }

            protected function _prepareMassaction()
            {
            $this->setMassactionIdField('entity_id');
            $this->getMassactionBlock()->setFormFieldName('order_ids');
            $this->getMassactionBlock()->setUseSelectAll(false);

            if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/cancel')) {
            $this->getMassactionBlock()->addItem('cancel_order', array(
            'label'=> Mage::helper('sales')->__('Cancel'),
            'url' => $this->getUrl('*/sales_order/massCancel'),
            ));
            }

            if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/hold')) {
            $this->getMassactionBlock()->addItem('hold_order', array(
            'label'=> Mage::helper('sales')->__('Hold'),
            'url' => $this->getUrl('*/sales_order/massHold'),
            ));
            }

            if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/unhold')) {
            $this->getMassactionBlock()->addItem('unhold_order', array(
            'label'=> Mage::helper('sales')->__('Unhold'),
            'url' => $this->getUrl('*/sales_order/massUnhold'),
            ));
            }

            $this->getMassactionBlock()->addItem('pdfinvoices_order', array(
            'label'=> Mage::helper('sales')->__('Print Invoices'),
            'url' => $this->getUrl('*/sales_order/pdfinvoices'),
            ));

            $this->getMassactionBlock()->addItem('pdfshipments_order', array(
            'label'=> Mage::helper('sales')->__('Print Packingslips'),
            'url' => $this->getUrl('*/sales_order/pdfshipments'),
            ));

            $this->getMassactionBlock()->addItem('pdfcreditmemos_order', array(
            'label'=> Mage::helper('sales')->__('Print Credit Memos'),
            'url' => $this->getUrl('*/sales_order/pdfcreditmemos'),
            ));

            $this->getMassactionBlock()->addItem('pdfdocs_order', array(
            'label'=> Mage::helper('sales')->__('Print All'),
            'url' => $this->getUrl('*/sales_order/pdfdocs'),
            ));

            $this->getMassactionBlock()->addItem('print_shipping_label', array(
            'label'=> Mage::helper('sales')->__('Print Shipping Labels'),
            'url' => $this->getUrl('*/sales_order_shipment/massPrintShippingLabel'),
            ));

            return $this;
            }

            public function getRowUrl($row)
            {
            if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/view')) {
            return $this->getUrl('*/sales_order/view', array('order_id' => $row->getId()));
            }
            return false;
            }

            public function getGridUrl()
            {
            return $this->getUrl('*/*/grid', array('_current'=>true));
            }

            }





            share|improve this answer




























              0














              Got this working finally with the following code:



              <?php
              /**
              * Magento
              *
              * NOTICE OF LICENSE
              *
              * This source file is subject to the Open Software License (OSL 3.0)
              * that is bundled with this package in the file LICENSE.txt.
              * It is also available through the world-wide-web at this URL:
              * http://opensource.org/licenses/osl-3.0.php
              * If you did not receive a copy of the license and are unable to
              * obtain it through the world-wide-web, please send an email
              * to license@magentocommerce.com so we can send you a copy immediately.
              *
              * DISCLAIMER
              *
              * Do not edit or add to this file if you wish to upgrade Magento to newer
              * versions in the future. If you wish to customize Magento for your
              * needs please refer to http://www.magentocommerce.com for more information.
              *
              * @category Mage
              * @package Mage_Adminhtml
              * @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
              * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
              */

              /**
              * Adminhtml sales orders grid
              *
              * @category Mage
              * @package Mage_Adminhtml
              * @author Magento Core Team <core@magentocommerce.com>
              */
              class Mage_Adminhtml_Block_Sales_Order_Grid extends Mage_Adminhtml_Block_Widget_Grid
              {

              public function __construct()
              {
              parent::__construct();
              $this->setId('sales_order_grid');
              $this->setUseAjax(true);
              $this->setDefaultSort('created_at');
              $this->setDefaultDir('DESC');
              $this->setSaveParametersInSession(true);
              }

              /**
              * Retrieve collection class
              *
              * @return string
              */
              protected function _getCollectionClass()
              {
              return 'sales/order_grid_collection';
              }

              protected function _prepareCollection()
              {
              $collection = Mage::getResourceModel($this->_getCollectionClass());

              $collection->getSelect()->join(array('billing'=>'sales_flat_order_address'),'main_table.entity_id=billing.parent_id and billing.address_type="billing"',array('billing.company as billing_company'));

              $collection->getSelect()->join(array('shipping'=>'sales_flat_order_address'),'main_table.entity_id=shipping.parent_id and shipping.address_type="shipping"',array('shipping.company as shipping_company'));

              $this->setCollection($collection);
              return parent::_prepareCollection();
              }

              protected function _prepareColumns()
              {

              $this->addColumn('real_order_id', array(
              'header'=> Mage::helper('sales')->__('Order #'),
              'width' => '80px',
              'type' => 'text',
              'index' => 'increment_id',
              ));

              if (!Mage::app()->isSingleStoreMode()) {
              $this->addColumn('store_id', array(
              'header' => Mage::helper('sales')->__('Purchased From (Store)'),
              'index' => 'store_id',
              'type' => 'store',
              'store_view'=> true,
              'display_deleted' => true,
              ));
              }

              $this->addColumn('created_at', array(
              'header' => Mage::helper('sales')->__('Purchased On'),
              'index' => 'created_at',
              'type' => 'datetime',
              'width' => '100px',
              ));

              $this->addColumn('billing_name', array(
              'header' => Mage::helper('sales')->__('Bill to Name'),
              'index' => 'billing_name',
              ));

              $this->addColumn('company', array(
              'header' => Mage::helper('sales')->__('Billing Company'),
              'index' => 'billing_company',
              'filter_index' => 'billing.company',
              ));

              $this->addColumn('shipping_name', array(
              'header' => Mage::helper('sales')->__('Ship to Name'),
              'index' => 'shipping_name',
              ));

              $this->addColumn('shipping_company', array(
              'header' => Mage::helper('sales')->__('Shipping Company'),
              'index' => 'shipping_company',
              'filter_index' => 'shipping.company',
              ));

              $this->addColumn('base_grand_total', array(
              'header' => Mage::helper('sales')->__('G.T. (Base)'),
              'index' => 'base_grand_total',
              'type' => 'currency',
              'currency' => 'base_currency_code',
              ));

              $this->addColumn('grand_total', array(
              'header' => Mage::helper('sales')->__('G.T. (Purchased)'),
              'index' => 'grand_total',
              'type' => 'currency',
              'currency' => 'order_currency_code',
              ));

              $this->addColumn('status', array(
              'header' => Mage::helper('sales')->__('Status'),
              'index' => 'status',
              'type' => 'options',
              'width' => '70px',
              'options' => Mage::getSingleton('sales/order_config')->getStatuses(),
              ));

              if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/view')) {
              $this->addColumn('action',
              array(
              'header' => Mage::helper('sales')->__('Action'),
              'width' => '50px',
              'type' => 'action',
              'getter' => 'getId',
              'actions' => array(
              array(
              'caption' => Mage::helper('sales')->__('View'),
              'url' => array('base'=>'*/sales_order/view'),
              'field' => 'order_id',
              'data-column' => 'action',
              )
              ),
              'filter' => false,
              'sortable' => false,
              'index' => 'stores',
              'is_system' => true,
              ));
              }
              $this->addRssList('rss/order/new', Mage::helper('sales')->__('New Order RSS'));

              $this->addExportType('*/*/exportCsv', Mage::helper('sales')->__('CSV'));
              $this->addExportType('*/*/exportExcel', Mage::helper('sales')->__('Excel XML'));

              return parent::_prepareColumns();
              }

              protected function _prepareMassaction()
              {
              $this->setMassactionIdField('entity_id');
              $this->getMassactionBlock()->setFormFieldName('order_ids');
              $this->getMassactionBlock()->setUseSelectAll(false);

              if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/cancel')) {
              $this->getMassactionBlock()->addItem('cancel_order', array(
              'label'=> Mage::helper('sales')->__('Cancel'),
              'url' => $this->getUrl('*/sales_order/massCancel'),
              ));
              }

              if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/hold')) {
              $this->getMassactionBlock()->addItem('hold_order', array(
              'label'=> Mage::helper('sales')->__('Hold'),
              'url' => $this->getUrl('*/sales_order/massHold'),
              ));
              }

              if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/unhold')) {
              $this->getMassactionBlock()->addItem('unhold_order', array(
              'label'=> Mage::helper('sales')->__('Unhold'),
              'url' => $this->getUrl('*/sales_order/massUnhold'),
              ));
              }

              $this->getMassactionBlock()->addItem('pdfinvoices_order', array(
              'label'=> Mage::helper('sales')->__('Print Invoices'),
              'url' => $this->getUrl('*/sales_order/pdfinvoices'),
              ));

              $this->getMassactionBlock()->addItem('pdfshipments_order', array(
              'label'=> Mage::helper('sales')->__('Print Packingslips'),
              'url' => $this->getUrl('*/sales_order/pdfshipments'),
              ));

              $this->getMassactionBlock()->addItem('pdfcreditmemos_order', array(
              'label'=> Mage::helper('sales')->__('Print Credit Memos'),
              'url' => $this->getUrl('*/sales_order/pdfcreditmemos'),
              ));

              $this->getMassactionBlock()->addItem('pdfdocs_order', array(
              'label'=> Mage::helper('sales')->__('Print All'),
              'url' => $this->getUrl('*/sales_order/pdfdocs'),
              ));

              $this->getMassactionBlock()->addItem('print_shipping_label', array(
              'label'=> Mage::helper('sales')->__('Print Shipping Labels'),
              'url' => $this->getUrl('*/sales_order_shipment/massPrintShippingLabel'),
              ));

              return $this;
              }

              public function getRowUrl($row)
              {
              if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/view')) {
              return $this->getUrl('*/sales_order/view', array('order_id' => $row->getId()));
              }
              return false;
              }

              public function getGridUrl()
              {
              return $this->getUrl('*/*/grid', array('_current'=>true));
              }

              }





              share|improve this answer


























                0












                0








                0







                Got this working finally with the following code:



                <?php
                /**
                * Magento
                *
                * NOTICE OF LICENSE
                *
                * This source file is subject to the Open Software License (OSL 3.0)
                * that is bundled with this package in the file LICENSE.txt.
                * It is also available through the world-wide-web at this URL:
                * http://opensource.org/licenses/osl-3.0.php
                * If you did not receive a copy of the license and are unable to
                * obtain it through the world-wide-web, please send an email
                * to license@magentocommerce.com so we can send you a copy immediately.
                *
                * DISCLAIMER
                *
                * Do not edit or add to this file if you wish to upgrade Magento to newer
                * versions in the future. If you wish to customize Magento for your
                * needs please refer to http://www.magentocommerce.com for more information.
                *
                * @category Mage
                * @package Mage_Adminhtml
                * @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
                * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
                */

                /**
                * Adminhtml sales orders grid
                *
                * @category Mage
                * @package Mage_Adminhtml
                * @author Magento Core Team <core@magentocommerce.com>
                */
                class Mage_Adminhtml_Block_Sales_Order_Grid extends Mage_Adminhtml_Block_Widget_Grid
                {

                public function __construct()
                {
                parent::__construct();
                $this->setId('sales_order_grid');
                $this->setUseAjax(true);
                $this->setDefaultSort('created_at');
                $this->setDefaultDir('DESC');
                $this->setSaveParametersInSession(true);
                }

                /**
                * Retrieve collection class
                *
                * @return string
                */
                protected function _getCollectionClass()
                {
                return 'sales/order_grid_collection';
                }

                protected function _prepareCollection()
                {
                $collection = Mage::getResourceModel($this->_getCollectionClass());

                $collection->getSelect()->join(array('billing'=>'sales_flat_order_address'),'main_table.entity_id=billing.parent_id and billing.address_type="billing"',array('billing.company as billing_company'));

                $collection->getSelect()->join(array('shipping'=>'sales_flat_order_address'),'main_table.entity_id=shipping.parent_id and shipping.address_type="shipping"',array('shipping.company as shipping_company'));

                $this->setCollection($collection);
                return parent::_prepareCollection();
                }

                protected function _prepareColumns()
                {

                $this->addColumn('real_order_id', array(
                'header'=> Mage::helper('sales')->__('Order #'),
                'width' => '80px',
                'type' => 'text',
                'index' => 'increment_id',
                ));

                if (!Mage::app()->isSingleStoreMode()) {
                $this->addColumn('store_id', array(
                'header' => Mage::helper('sales')->__('Purchased From (Store)'),
                'index' => 'store_id',
                'type' => 'store',
                'store_view'=> true,
                'display_deleted' => true,
                ));
                }

                $this->addColumn('created_at', array(
                'header' => Mage::helper('sales')->__('Purchased On'),
                'index' => 'created_at',
                'type' => 'datetime',
                'width' => '100px',
                ));

                $this->addColumn('billing_name', array(
                'header' => Mage::helper('sales')->__('Bill to Name'),
                'index' => 'billing_name',
                ));

                $this->addColumn('company', array(
                'header' => Mage::helper('sales')->__('Billing Company'),
                'index' => 'billing_company',
                'filter_index' => 'billing.company',
                ));

                $this->addColumn('shipping_name', array(
                'header' => Mage::helper('sales')->__('Ship to Name'),
                'index' => 'shipping_name',
                ));

                $this->addColumn('shipping_company', array(
                'header' => Mage::helper('sales')->__('Shipping Company'),
                'index' => 'shipping_company',
                'filter_index' => 'shipping.company',
                ));

                $this->addColumn('base_grand_total', array(
                'header' => Mage::helper('sales')->__('G.T. (Base)'),
                'index' => 'base_grand_total',
                'type' => 'currency',
                'currency' => 'base_currency_code',
                ));

                $this->addColumn('grand_total', array(
                'header' => Mage::helper('sales')->__('G.T. (Purchased)'),
                'index' => 'grand_total',
                'type' => 'currency',
                'currency' => 'order_currency_code',
                ));

                $this->addColumn('status', array(
                'header' => Mage::helper('sales')->__('Status'),
                'index' => 'status',
                'type' => 'options',
                'width' => '70px',
                'options' => Mage::getSingleton('sales/order_config')->getStatuses(),
                ));

                if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/view')) {
                $this->addColumn('action',
                array(
                'header' => Mage::helper('sales')->__('Action'),
                'width' => '50px',
                'type' => 'action',
                'getter' => 'getId',
                'actions' => array(
                array(
                'caption' => Mage::helper('sales')->__('View'),
                'url' => array('base'=>'*/sales_order/view'),
                'field' => 'order_id',
                'data-column' => 'action',
                )
                ),
                'filter' => false,
                'sortable' => false,
                'index' => 'stores',
                'is_system' => true,
                ));
                }
                $this->addRssList('rss/order/new', Mage::helper('sales')->__('New Order RSS'));

                $this->addExportType('*/*/exportCsv', Mage::helper('sales')->__('CSV'));
                $this->addExportType('*/*/exportExcel', Mage::helper('sales')->__('Excel XML'));

                return parent::_prepareColumns();
                }

                protected function _prepareMassaction()
                {
                $this->setMassactionIdField('entity_id');
                $this->getMassactionBlock()->setFormFieldName('order_ids');
                $this->getMassactionBlock()->setUseSelectAll(false);

                if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/cancel')) {
                $this->getMassactionBlock()->addItem('cancel_order', array(
                'label'=> Mage::helper('sales')->__('Cancel'),
                'url' => $this->getUrl('*/sales_order/massCancel'),
                ));
                }

                if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/hold')) {
                $this->getMassactionBlock()->addItem('hold_order', array(
                'label'=> Mage::helper('sales')->__('Hold'),
                'url' => $this->getUrl('*/sales_order/massHold'),
                ));
                }

                if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/unhold')) {
                $this->getMassactionBlock()->addItem('unhold_order', array(
                'label'=> Mage::helper('sales')->__('Unhold'),
                'url' => $this->getUrl('*/sales_order/massUnhold'),
                ));
                }

                $this->getMassactionBlock()->addItem('pdfinvoices_order', array(
                'label'=> Mage::helper('sales')->__('Print Invoices'),
                'url' => $this->getUrl('*/sales_order/pdfinvoices'),
                ));

                $this->getMassactionBlock()->addItem('pdfshipments_order', array(
                'label'=> Mage::helper('sales')->__('Print Packingslips'),
                'url' => $this->getUrl('*/sales_order/pdfshipments'),
                ));

                $this->getMassactionBlock()->addItem('pdfcreditmemos_order', array(
                'label'=> Mage::helper('sales')->__('Print Credit Memos'),
                'url' => $this->getUrl('*/sales_order/pdfcreditmemos'),
                ));

                $this->getMassactionBlock()->addItem('pdfdocs_order', array(
                'label'=> Mage::helper('sales')->__('Print All'),
                'url' => $this->getUrl('*/sales_order/pdfdocs'),
                ));

                $this->getMassactionBlock()->addItem('print_shipping_label', array(
                'label'=> Mage::helper('sales')->__('Print Shipping Labels'),
                'url' => $this->getUrl('*/sales_order_shipment/massPrintShippingLabel'),
                ));

                return $this;
                }

                public function getRowUrl($row)
                {
                if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/view')) {
                return $this->getUrl('*/sales_order/view', array('order_id' => $row->getId()));
                }
                return false;
                }

                public function getGridUrl()
                {
                return $this->getUrl('*/*/grid', array('_current'=>true));
                }

                }





                share|improve this answer













                Got this working finally with the following code:



                <?php
                /**
                * Magento
                *
                * NOTICE OF LICENSE
                *
                * This source file is subject to the Open Software License (OSL 3.0)
                * that is bundled with this package in the file LICENSE.txt.
                * It is also available through the world-wide-web at this URL:
                * http://opensource.org/licenses/osl-3.0.php
                * If you did not receive a copy of the license and are unable to
                * obtain it through the world-wide-web, please send an email
                * to license@magentocommerce.com so we can send you a copy immediately.
                *
                * DISCLAIMER
                *
                * Do not edit or add to this file if you wish to upgrade Magento to newer
                * versions in the future. If you wish to customize Magento for your
                * needs please refer to http://www.magentocommerce.com for more information.
                *
                * @category Mage
                * @package Mage_Adminhtml
                * @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
                * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
                */

                /**
                * Adminhtml sales orders grid
                *
                * @category Mage
                * @package Mage_Adminhtml
                * @author Magento Core Team <core@magentocommerce.com>
                */
                class Mage_Adminhtml_Block_Sales_Order_Grid extends Mage_Adminhtml_Block_Widget_Grid
                {

                public function __construct()
                {
                parent::__construct();
                $this->setId('sales_order_grid');
                $this->setUseAjax(true);
                $this->setDefaultSort('created_at');
                $this->setDefaultDir('DESC');
                $this->setSaveParametersInSession(true);
                }

                /**
                * Retrieve collection class
                *
                * @return string
                */
                protected function _getCollectionClass()
                {
                return 'sales/order_grid_collection';
                }

                protected function _prepareCollection()
                {
                $collection = Mage::getResourceModel($this->_getCollectionClass());

                $collection->getSelect()->join(array('billing'=>'sales_flat_order_address'),'main_table.entity_id=billing.parent_id and billing.address_type="billing"',array('billing.company as billing_company'));

                $collection->getSelect()->join(array('shipping'=>'sales_flat_order_address'),'main_table.entity_id=shipping.parent_id and shipping.address_type="shipping"',array('shipping.company as shipping_company'));

                $this->setCollection($collection);
                return parent::_prepareCollection();
                }

                protected function _prepareColumns()
                {

                $this->addColumn('real_order_id', array(
                'header'=> Mage::helper('sales')->__('Order #'),
                'width' => '80px',
                'type' => 'text',
                'index' => 'increment_id',
                ));

                if (!Mage::app()->isSingleStoreMode()) {
                $this->addColumn('store_id', array(
                'header' => Mage::helper('sales')->__('Purchased From (Store)'),
                'index' => 'store_id',
                'type' => 'store',
                'store_view'=> true,
                'display_deleted' => true,
                ));
                }

                $this->addColumn('created_at', array(
                'header' => Mage::helper('sales')->__('Purchased On'),
                'index' => 'created_at',
                'type' => 'datetime',
                'width' => '100px',
                ));

                $this->addColumn('billing_name', array(
                'header' => Mage::helper('sales')->__('Bill to Name'),
                'index' => 'billing_name',
                ));

                $this->addColumn('company', array(
                'header' => Mage::helper('sales')->__('Billing Company'),
                'index' => 'billing_company',
                'filter_index' => 'billing.company',
                ));

                $this->addColumn('shipping_name', array(
                'header' => Mage::helper('sales')->__('Ship to Name'),
                'index' => 'shipping_name',
                ));

                $this->addColumn('shipping_company', array(
                'header' => Mage::helper('sales')->__('Shipping Company'),
                'index' => 'shipping_company',
                'filter_index' => 'shipping.company',
                ));

                $this->addColumn('base_grand_total', array(
                'header' => Mage::helper('sales')->__('G.T. (Base)'),
                'index' => 'base_grand_total',
                'type' => 'currency',
                'currency' => 'base_currency_code',
                ));

                $this->addColumn('grand_total', array(
                'header' => Mage::helper('sales')->__('G.T. (Purchased)'),
                'index' => 'grand_total',
                'type' => 'currency',
                'currency' => 'order_currency_code',
                ));

                $this->addColumn('status', array(
                'header' => Mage::helper('sales')->__('Status'),
                'index' => 'status',
                'type' => 'options',
                'width' => '70px',
                'options' => Mage::getSingleton('sales/order_config')->getStatuses(),
                ));

                if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/view')) {
                $this->addColumn('action',
                array(
                'header' => Mage::helper('sales')->__('Action'),
                'width' => '50px',
                'type' => 'action',
                'getter' => 'getId',
                'actions' => array(
                array(
                'caption' => Mage::helper('sales')->__('View'),
                'url' => array('base'=>'*/sales_order/view'),
                'field' => 'order_id',
                'data-column' => 'action',
                )
                ),
                'filter' => false,
                'sortable' => false,
                'index' => 'stores',
                'is_system' => true,
                ));
                }
                $this->addRssList('rss/order/new', Mage::helper('sales')->__('New Order RSS'));

                $this->addExportType('*/*/exportCsv', Mage::helper('sales')->__('CSV'));
                $this->addExportType('*/*/exportExcel', Mage::helper('sales')->__('Excel XML'));

                return parent::_prepareColumns();
                }

                protected function _prepareMassaction()
                {
                $this->setMassactionIdField('entity_id');
                $this->getMassactionBlock()->setFormFieldName('order_ids');
                $this->getMassactionBlock()->setUseSelectAll(false);

                if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/cancel')) {
                $this->getMassactionBlock()->addItem('cancel_order', array(
                'label'=> Mage::helper('sales')->__('Cancel'),
                'url' => $this->getUrl('*/sales_order/massCancel'),
                ));
                }

                if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/hold')) {
                $this->getMassactionBlock()->addItem('hold_order', array(
                'label'=> Mage::helper('sales')->__('Hold'),
                'url' => $this->getUrl('*/sales_order/massHold'),
                ));
                }

                if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/unhold')) {
                $this->getMassactionBlock()->addItem('unhold_order', array(
                'label'=> Mage::helper('sales')->__('Unhold'),
                'url' => $this->getUrl('*/sales_order/massUnhold'),
                ));
                }

                $this->getMassactionBlock()->addItem('pdfinvoices_order', array(
                'label'=> Mage::helper('sales')->__('Print Invoices'),
                'url' => $this->getUrl('*/sales_order/pdfinvoices'),
                ));

                $this->getMassactionBlock()->addItem('pdfshipments_order', array(
                'label'=> Mage::helper('sales')->__('Print Packingslips'),
                'url' => $this->getUrl('*/sales_order/pdfshipments'),
                ));

                $this->getMassactionBlock()->addItem('pdfcreditmemos_order', array(
                'label'=> Mage::helper('sales')->__('Print Credit Memos'),
                'url' => $this->getUrl('*/sales_order/pdfcreditmemos'),
                ));

                $this->getMassactionBlock()->addItem('pdfdocs_order', array(
                'label'=> Mage::helper('sales')->__('Print All'),
                'url' => $this->getUrl('*/sales_order/pdfdocs'),
                ));

                $this->getMassactionBlock()->addItem('print_shipping_label', array(
                'label'=> Mage::helper('sales')->__('Print Shipping Labels'),
                'url' => $this->getUrl('*/sales_order_shipment/massPrintShippingLabel'),
                ));

                return $this;
                }

                public function getRowUrl($row)
                {
                if (Mage::getSingleton('admin/session')->isAllowed('sales/order/actions/view')) {
                return $this->getUrl('*/sales_order/view', array('order_id' => $row->getId()));
                }
                return false;
                }

                public function getGridUrl()
                {
                return $this->getUrl('*/*/grid', array('_current'=>true));
                }

                }






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Jul 21 '16 at 15:56









                doubleplusgooddoubleplusgood

                83316




                83316






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Magento Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f125155%2fdisplaying-columns-in-sales-order-grid%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Polycentropodidae

                    Magento 2 Error message: Invalid state change requested

                    Paulmy