Magento 1.9 Admin Back-End – Get Entered Tracking Number

custom-optionsgridmagento-1.9shipment-tracking

I need the tracking number on the Shipments grid in the Back-End,

from here:
enter image description here

to here:
enter image description here

How can I do this?

Best Answer

Please try below code :

Overwrite class : Mage_Adminhtml_Block_Sales_Shipment_Grid

Change Collection Method as Below :

 protected function _prepareCollection(){
    $collection = Mage::getResourceModel($this->_getCollectionClass());
    $shipTable = Mage::getSingleton('core/resource')->getTableName('sales/shipment_track');
    $collection->getSelect()->joinLeft($shipTable, $shipTable.'.order_id = main_table.order_id',array('track_number'=> $shipTable.'.track_number'));
    $this->setCollection($collection);
    return parent::_prepareCollection();
   }

After This Create Column for Tracking Number :

$this->addColumn('track_number', array(
    'header' => Mage::helper('sales')->__('Tracking Number'),
    'index' => 'track_number',
    'filter_index'=>'sales_flat_shipment_track.track_number',
));

Work For me Happy Coding. :)