我正在尝试创建从我的帮助台软件到 magento 后端销售订单页面的链接。
Magento 将 url 构造为下面的示例,其中数字表示订单 ID。
/index.php/admin/sales_order/view/order_id/12394/ _ _
但是,订单 ID 不等于订单号,因为计数中包括信用发票等。
是否有其他方法可以让我使用订单号链接到订单页面。
谢谢!
我正在尝试创建从我的帮助台软件到 magento 后端销售订单页面的链接。
Magento 将 url 构造为下面的示例,其中数字表示订单 ID。
/index.php/admin/sales_order/view/order_id/12394/ _ _
但是,订单 ID 不等于订单号,因为计数中包括信用发票等。
是否有其他方法可以让我使用订单号链接到订单页面。
谢谢!
magento中有2种订单号
管理员使用订单 ID,而发票上的数字是订单增量 ID。
解决此问题的最快方法是创建一个自定义模块,该模块通过订单增量 ID 查找订单 ID,并使用订单 ID 重定向到视图页面。
在 /app/etc/modules/MageIgniter_OrderRedirect.xml
<?xml version="1.0"?>
<config>
<modules>
<MageIgniter_OrderRedirect>
<active>true</active>
<codePool>local</codePool>
</MageIgniter_OrderRedirect>
</modules>
</config>
在 /app/code/local/MageIgniter/OrderRedirect/controllers/RedirectOrderController.php
<?php
class MageIgniter_OrderRedirect_RedirectOrderController extends Mage_Core_Controller_Front_Action
{
public function viewAction(){
$increment_id = Mage::app()->getRequest()->getParam('id');
$order = Mage::getModel('sales/order')->loadByIncrementId($increment_id);
$order_id = $order->getId();
Mage::app()->getResponse()->setRedirect(Mage::helper('adminhtml')->getUrl("adminhtml/sales_order/view", array('order_id'=> $order_id)));
}
}
在 /app/code/local/MageIgniter/OrderRedirect/etc/config.xml
<?xml version="1.0"?>
<config>
<modules>
<MageIgniter_OrderRedirect>
<version>0.1.0</version>
</MageIgniter_OrderRedirect>
</modules>
<frontend>
<routers>
<orderredirect>
<use>standard</use>
<args>
<module>MageIgniter_OrderRedirect</module>
<frontName>orderredirect</frontName>
</args>
</orderredirect>
</routers>
</frontend>
<global>
<helpers>
<orderredirect>
<class>MageIgniter_OrderRedirect_Helper</class>
</orderredirect>
</helpers>
</global>
</config>
网址
www.site.com/orderredirect/redirectOrder/view/id/101512486