我正在尝试创建一个从我的帮助台软件到magento后端的销售订单页面的链接。
Magento将url构造为下面的示例,其中数字表示订单ID。
/index.php/admin/sales_order/view/order_id/的 12394 /
但是,订单ID不等于订单编号,因为信用发票等包含在计数中。
我是否还有其他方式可以使用订单号链接到订单页面。
谢谢!
答案 0 :(得分:3)
magento中有两种类型的订单号
管理员使用订单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>
url
www.site.com/orderredirect/redirectOrder/view/id/101512486