0

I'm gonna add the column in my order -> shipment grid!

I want to bring the "title" on 'sales_flat_shipment_track' table. And it has also "parent_id" column, means entity_id on sales_flat_shipment!

sales_flat_shipment_track

enter image description here

sales_flat_shipment

enter image description here

So i need to implement this requirment to Mage_Adminhtml_Block_Sales_Shipment_Grid

What code do i have to insert to protected function _prepareCollection() & protected function _prepareColumns() ?

I tried :

 protected function _prepareCollection()
{
 $collection = Mage::getResourceModel($this->_getCollectionClass()); 
 $collection->getSelect()->join('sales_flat_shipment_track', 'main_table.entity_id = sales_flat_shipment_track.parent_id', array('title'));
 $this->setCollection($collection);
 return parent::_prepareCollection();
}
 protected function _prepareColumns()
{
 $methods = Mage::getSingleton('shipping/config')->getActiveCarriers();
 $shippingmethods = array();
 foreach($methods as $_ccode => $_carrier) {
 if($_methods = $_carrier->getAllowedMethods()) {
 if(!$_title = Mage::getStoreConfig("carriers/$_ccode/title"))
 $_title = $_ccode;
 foreach($_methods as $_mcode => $_method) {
 $_code = $_ccode . '_' . $_mcode;
 $shippingmethods[$_code]= $_title;
 }
 }
 }
 $this->addColumn('title', array(
 'header'=> Mage::helper('sales')->__('Shipping Method'),
 'width' => '80px',
 'type' => 'options',
 'index' => 'title',
 'options' => $shippingmethods,
 ));
}

Please let me know it

Thank you so much!

asked Mar 15, 2017 at 16:10

1 Answer 1

0

If you want to bring your carrier information on grid, follow this instruction. Btw it would change the core file directly. What if you do not want to alter core file, please skip this post and i'll update after making local module.

Mage_Adminhtml_Block_Sales_Shipment_Grid

 protected function _prepareCollection()
{
 $collection = Mage::getResourceModel($this->_getCollectionClass());
 $collection->getSelect()->joinLeft('sales_flat_shipment_track', 'main_table.entity_id = sales_flat_shipment_track.parent_id',array('title'))->group('title');
 $this->setCollection($collection);
 return parent::_prepareCollection();
}
 protected function _prepareColumns()
{
 parent::_prepareColumns();
 $this->removeColumn('created_at');
 /*
 $methods = Mage::getSingleton('shipping/config')->getActiveCarriers();
 $shippingmethods = array();
 foreach($methods as $_ccode => $_carrier) {
 if($_methods = $_carrier->getAllowedMethods()) {
 if(!$_title = Mage::getStoreConfig("carriers/$_ccode/title"))
 $_title = $_ccode;
 foreach($_methods as $_mcode => $_method) {
 $_code = $_ccode . '_' . $_mcode;
 $shippingmethods[$_code]= $_title;
 }
 }
 }
 */
 $this->addColumn('increment_id', array(
 'header' => Mage::helper('sales')->__('Shipment #'),
 'index' => 'increment_id',
 'type' => 'text',
 ));
 $this->addColumn('created_at', array(
 'header' => Mage::helper('sales')->__('Date Shipped'),
 'index' => 'created_at',
 'type' => 'datetime',
 'filter_index' => 'main_table.created_at'
 ));
 $this->addColumn('order_increment_id', array(
 'header' => Mage::helper('sales')->__('Order #'),
 'index' => 'order_increment_id',
 'type' => 'text',
 ));
 $this->addColumn('order_created_at', array(
 'header' => Mage::helper('sales')->__('Order Date'),
 'index' => 'order_created_at',
 'type' => 'datetime',
 ));
 $this->addColumn('shipping_name', array(
 'header' => Mage::helper('sales')->__('Ship to Name'),
 'index' => 'shipping_name',
 ));
 $this->addColumn('total_qty', array(
 'header' => Mage::helper('sales')->__('Total Qty'),
 'index' => 'total_qty',
 'type' => 'number',
 ));
 $this->addColumn('title', array(
 'header'=> Mage::helper('sales')->__('Shipping Method'),
 'width' => '80px',
 'type' => 'text',
 'index' => 'title',
 ));
 $this->addExportType('*/*/exportCsv', Mage::helper('sales')->__('CSV'));
 $this->addExportType('*/*/exportExcel', Mage::helper('sales')->__('Excel XML'));
 return $this;
}
answered Mar 16, 2017 at 13:29

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.