【问题标题】:Magento Admin Sales > Order > Item UrlMagento 管理员销售 > 订单 > 商品网址
【发布时间】:2012-11-25 00:38:48
【问题描述】:

我正在尝试创建一个链接,从我的帮助台软件到 magento 后端的销售订单页面。

Magento 将 url 构造为如下示例,其中数字表示订单 ID。

/index.php/admin/sales_order/view/order_id/12394/

但是,订单 ID 不等于订单号,因为计数中包括信用发票等。

我还有其他方法可以使用订单号链接到订单页面吗?

谢谢!

【问题讨论】:

    标签: url-rewriting magento-1.5 magento


    【解决方案1】:

    magento中有2种订单号

    1. 订单增量ID
    2. 订单 ID(主要在 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> 
    

    网址

    www.site.com/orderredirect/redirectOrder/view/id/101512486

    【讨论】:

    • 参数/模块,而不是参数/模块。
    • 非常感谢您的详细回答,但是在实践中我将如何使用订单重定向,是否需要使用某个网址?
    • site.com/index.php/admin/redirectorder/view/id/12394/(其中 12394 是订单增量 ID,发票上显示的订单号)
    • 嗨 R.S!我得到一个 404,该模块在系统 > 配置 > 高级中可见。我想要实现的是拥有一个将订单 ID 重写为订单增量 ID 并转发到 /index.php/admin/sales_order/view/order_id/12394/ 的 url,其中 12394 是订单增量 ID。跨度>
    • 我只是测试并更新了上面的代码,它现在可以工作了,我做了很多更改,所以最好删除以前的并重新开始(应该是控制器而不是控制器文件夹)
    猜你喜欢
    • 1970-01-01
    • 2023-04-06
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    • 2015-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多