0

Magento 管理员

如何更改Magento 后端屏幕中Ship按钮的操作?Order view上图描绘了Ship我的意思的按钮。我想将它指向我自己模块的控制器/动作。我想尽可能干净地做到这一点,以保持 Magento 可升级而不会破坏我的模块。

4

1 回答 1

2

尝试创建一个重写的自定义模块Mage_Adminhtml_Block_Sales_Order_View

配置.xml:

<global>
    <blocks>
         <adminhtml>
            <rewrite>
                <sales_order_view>Namespace_Module_Block_Adminhtml_Sales_Order_View</sales_order_view>
            </rewrite>
        </adminhtml>
    </blocks>
 </global>

命名空间/模块/块/Adminhtml/Sales/Order/View.php:

class Namespace_Module_Block_Adminhtml_Sales_Order_View extends Mage_Adminhtml_Block_Sales_Order_View {
        public function getShipUrl()
        {
            //add your custom url
            return $this->getUrl('*/sales_order_shipment/start');
        }
}

见/app/code/core/Mage/Adminhtml/Block/Sales/Order/View.php

阅读更多@如何在 Magento 管理面板中添加新按钮到订单视图?

如果您还想更改标题更新

    if ($this->_isAllowedAction('ship') && $order->canShip()
        && !$order->getForcedDoShipmentWithInvoice()) {
        $this->_addButton('order_ship', array(
            'label'     => Mage::helper('sales')->__('Ship'),
            'onclick'   => 'setLocation(\'' . $this->getShipUrl() . '\')',
            'class'     => 'go'
        ));
    }
于 2013-03-27T00:52:43.017 回答