Magento 訂單後臺增加支付介面來源列
阿新 • • 發佈:2019-02-13
在後臺訂單列表上增加支付方式,讓客服工作更輕鬆,一眼就看出是哪個支付介面的了
1.3.2.4以前的版本,是修改app/code/core/Mage/Adminhtml/Block/Sales/Order/Grid.php
protected function _prepareCollection() { $tablePre= (string)Mage::getConfig()->getTablePrefix(); //TODO: add full name logic $res = Mage::getResourceModel(“sales/order_payment”); $paymentWhere = array(“entity_type_id” => $res->getTypeId()); $attributes =$res->loadAllAttributes()->getAttributesByCode(); foreach ($attributes as $attrCode=>$attr) { if ($attr->getAttributeCode()==”method”){ $attId = $attr->getAttributeId(); } } $paymentMethodWhere = “{{table}}.attribute_id = ‘$attId’”; $collection = Mage::getResourceModel(‘sales/order_collection’) ->addAttributeToSelect(‘*’) ->joinAttribute(‘billing_firstname’, ‘order_address/firstname’, ‘billing_address_id’, null, ‘left’) ->joinAttribute(‘billing_lastname’, ‘order_address/lastname’, ‘billing_address_id’, null, ‘left’) ->joinAttribute(‘shipping_firstname’, ‘order_address/firstname’, ‘shipping_address_id’, null, ‘left’) ->joinAttribute(‘shipping_lastname’, ‘order_address/lastname’, ‘shipping_address_id’, null, ‘left’) ->joinTable($tablePre . ‘sales_order_entity’, ‘parent_id=entity_id’, array( ‘quote_payment_id_for_join’ => ‘entity_id’ ) , $paymentWhere, ‘left’ ) ->joinTable($tablePre.’sales_order_entity_varchar’, ‘entity_id=quote_payment_id_for_join’, array( ‘payment’ => ‘value’ ) , $paymentMethodWhere, ‘left’ ) ->addExpressionAttributeToSelect(‘billing_name’, ‘CONCAT({{billing_firstname}}, ” “, {{billing_lastname}})’, array(‘billing_firstname’, ‘billing_lastname’)) ->addExpressionAttributeToSelect(‘shipping_name’, ‘CONCAT({{shipping_firstname}}, ” “, {{shipping_lastname}})’, array(‘shipping_firstname’, ‘shipping_lastname’)); $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’, )); $this->addColumn(‘payment’, array( ‘header’ => Mage::helper(‘sales’)->__(‘Payment’), ‘index’ => ‘payment’, ‘sortable’ => false, ));
1.4.2.0 1.5.1.0是修改app\code\core\Mage\Adminhtml\Block\Sales\Order\Grid.php
protected function _prepareCollection() { $collection = Mage::getResourceModel($this->_getCollectionClass()); $collection->getSelect()->joinLeft(array(‘payments’ => $collection->getTable(‘sales/order_payment’)), ‘payments.parent_id = main_table.entity_id’, ‘method’ ); $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(‘payments’, array( ‘header’ => Mage::helper(‘sales’)->__(‘payments’), ‘index’ => ‘method’, ));