3

ヘルプデスクソフトウェアからmagentoのバックエンドの販売注文ページへのリンクを作成しようとしています。

Magentoは、以下の例のようにURLを作成します。ここで、番号は注文IDを表します。

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

ただし、クレジット請求書などがカウントに含まれているため、注文IDは注文番号と等しくありません。

注文番号を使用して注文ページにリンクする他の方法はありますか?

ありがとう!

4

1 に答える 1

4

Magentoには2種類の注文番号があります

  1. 注文増分ID
  2. 注文ID(主にmagentoでinternalを使用します)。

管理者は注文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

于 2012-12-06T21:37:12.640 に答える