OPENCART 後台自己修改的部分

2017/07/06
=======================================
OPENCART 自寫後台-修正加權限簡化插件 累計修改
=======================================
admin/controller/common/dashboard.php            v1.0.0     後台首頁修改
admin/controller/catalog/product.php            v1.0.1    新增商品頁-簡化
admin/controller/catalog/category.php            v1.0.1    商品分類頁-簡化
admin/controller/common/column_left.php            v1.0.1    左選單區塊-簡化
admin/controller/common/header.php            v1.0.1    上區塊 改圖示加連結
admin/view/template/common/header.tpl            v1.0.2    上區塊 改圖示加連結
admin/view/javascript/common2.js            v1.0.2    上區塊 改圖示加連結
admin/view/template/common/dashboard2.tpl        v1.0.3    修改LOGO尺寸加版本號
======================================
#v1.0.2    20170706更動
admin/view/template/common/header.tpl
admin/view/javascript/common2.js
#v1.0.3    20170707更動
admin/view/template/common/dashboard2.tpl
———————————–
#翻譯修正再修正
———————————–
catalog/category/edit
 商品目錄=>商品分類
 上層目錄=>上層商品分類
 頂部目錄=>頂部
catalog/product/edit
 目錄=>商品分類
 型號=>產品代碼
 折扣=>團購
———————————–
#訂單狀態名稱修正
———————————–
保留原版 修改 注意 狀態3 已出貨 和狀態5 已完成交易 不能更動名稱
TRUNCATE oc_order_status          #清空舊表
INSERT INTO `oc_order_status` (`order_status_id`, `language_id`, `name`) VALUES
(1, 1, ‘待處理’),
(2, 1, ‘訂單處理中’),
(3, 1, ‘已出貨 ‘),
(4, 1, ‘到店取貨–等待中’),
(5, 1, ‘已完成交易’),
(6, 1, ‘貨到付款–處理中’),
(7, 1, ‘已取消’),
(8, 1, ‘已拒絕’),
(9, 1, ‘取消恢復’),
(10, 1, ‘失敗’),
(11, 1, ‘已返還’),
(12, 1, ‘退款處理中…’),
(13, 1, ‘已退款’),
(14, 1, ‘已過期’),
(15, 1, ‘已處理’),
(16, 1, ‘空訂單’),
(17, 1, ‘ATM轉帳–請匯款’);

困擾300萬程式開發者的問題

圖片

困擾100萬開發者的程式問題 有100萬人 不知道要如何退出vim

我今天要嚴肅地講一個比如何退出vim更難的問題,這個 Git軟體操作 問題困老了300萬 開發者

那就是-到現在-還不會更換 GIT自己的大頭圖


關於大頭圖的說明
https://support.gitkraken.com/getting-started/profiles
大頭圖要去這網站申請
https://zh-tw.gravatar.com/
gravatar 是wordpress.com的服務所以要先有WordPress.com帳號
你好!使用您的WordPress.com帳戶登錄Gravatar。
=======================================
#論壇wordpress
=======================================
https://zh-tw.wordpress.com/
suffixbig@gmail.com  (密碼13碼且有大寫英文字母混用)
注意:註冊wordpress.com帳號需要 認證 EMAIL
=======================================
#結論

git軟體裡面沒有可以設你大頭圖的地方,你能設定的東西是你的信箱帳號,
而他會用你EMail帳號 去抓 你在gravatar.com 網站 所設定的大頭圖
以下附上換圖成功的拮圖
 
換圖成功

Opencart代碼替換系統VQMOD寫法

VQMOD 後來演變 成官方自己寫了個 簡化版的VQMOD 叫OCMOD-使用資料庫來管理,但有看不到修改後源碼的缺點所以反正
2.3.0.2版也能裝VQMOD 我就裝了
VQMOD 安裝
http://o03.test.com/vqmod/install                      WIN下]安裝不了

https://github.com/vqmod/vqmod                     2.62
在vqmod官網下(鏈接:https://github.com/vqmod/vqmod/releases)載了一個自動安裝的vqmod才搞定這個問題:

安裝方法就是:

將vqmod目錄上傳到opencart根目錄,然後在瀏覽器上輸入:xxxxx/vqmod/install

然後瀏覽器上會顯示:VQMOD HAS BEEN INSTALLED ON YOUR SYSTEM!

你第二次或者第三次安裝:xxxxx/vqmod/install,

就會出現:VQMOD ALREADY INSTALLED!

然後,把剛才那兩個xml文件拷貝到vqmod/xml目錄下。

接下來我想要的效果就出來了:
VQMOD 會改變 原版幾個檔案 1個 index.php 多了6行而已
D:\wamp\www\o03\index.php
D:\wamp\www\o03\admin\index.php

<?php
// Version
define(‘VERSION’, ‘2.3.0.2’);
// Configuration
if (is_file(‘config.php’)) {
    require_once(‘config.php’);
}
// Install
if (!defined(‘DIR_APPLICATION’)) {
    header(‘Location: ../install/index.php’);
    exit;
}
// Startup
require_once(DIR_SYSTEM . ‘startup.php’);
start(‘admin’);

<?php
// Version
define(‘VERSION’, ‘2.3.0.2’);
// Configuration
if (is_file(‘config.php’)) {
    require_once(‘config.php’);
}
// Install
if (!defined(‘DIR_APPLICATION’)) {
    header(‘Location: ../install/index.php’);
    exit;
}
//VirtualQMOD
require_once(‘../vqmod/vqmod.php’);
VQMod::bootup();
// VQMODDED Startup
require_once(VQMod::modCheck(DIR_SYSTEM . ‘startup.php’));
前台是start(‘catalog’);     後台是     start(‘admin’);

會多出目錄
vqmod/xml           放VQMOD插件的XML檔
vqmod/logs vqmod日誌目錄
vqmod/vqcache vqmod緩存目錄 自己產生改變後的檔案
vqmod/checked.cache vqmod用於保存已緩存的文件名
vqmod/mods.cache vqmod用於保存緩存文件的序列化源碼

VQMOD 寫法

<?xml version=”1.0″ encoding=”UTF-8″?>
<modification>
    <id>VQMOD CORE FOR OPENCART – DO NOT REMOVE</id>
    <version>1.4.x and above</version>
    <vqmver required=”true”>2.6.0</vqmver>
    <author>vqmod.com</author>
    <file name=”system/startup.php,system/engine/*.php,system/library/*.php,admin/controller/extension/*.php,system/library/template/*.php,catalog/controller/event/theme.php,system/library/template/Twig/*.php” error=”skip”>
        <operation error=”skip” info=”For non OCMod includes/requires”>
            <search position=”replace” regex=”true”><![CDATA[~^(\s*)(require|include)(_once)?(\s+|\()(?!VQMod::modCheck\()(?!modification\()([^);]+)~]]></search>
            <add><![CDATA[$1$2$3$4\\VQMod::modCheck($5)]]></add>
        </operation>
        <operation error=”skip” info=”For OCMod includes/requires – OPERATION MUST BE AFTER NON OCMOD INCLUDES/REQUIRES OPERATION”>
            <search position=”replace” regex=”true”><![CDATA[~(require|include)(_once)?\((?!VQMod::modCheck\()modification\(([^)]+)~]]></search>
            <add><![CDATA[$1$2(\\VQMod::modCheck(modification($3), $3]]></add>
        </operation>
    </file>
    <file name=”system/library/template/Twig/*.php” error=”skip”>
        <operation error=”skip” info=”Add Twig support”>
            <search position=”replace”><![CDATA[dirname(__FILE__).’/../’]]></search>
            <add><![CDATA[DIR_SYSTEM . ‘library/template/’]]></add>
        </operation>
    </file>
    <file name=”system/library/template/Twig/Loader/*.php” error=”skip”>
        <operation error=”skip” info=”Add Twig support”>
            <search position=”replace”><![CDATA[= $realpath;]]></search>
            <add><![CDATA[= VQMod::modCheck($realpath);]]></add>
        </operation>
    </file>
</modification>

vQMOD 參數

        replace 為在搜尋標籤中的資料取代為add標籤上的資料。(預設)
before 為在搜尋標籤中的資料之前插入add標籤上的資料。
after 為在搜尋標籤中的資料之後插入add標籤上的資料。
top 為在文件頂部插入add標籤上的資料。搜尋資料會被忽略。
bottom 為在文件底部插入add標籤上的資料。搜尋資料會被忽略。
all 將完全以add標籤上的資料取代所有資料。搜尋資料會被忽略。
可選offset屬性為要工作的位置
若搜尋位置為before 及 offset 3,其會放置add標籤上的資料在搜尋前3行
若搜尋位置為after 及 offset 3,其會放置add標籤上的資料在搜尋後3行
若搜尋位置為replace 及 offset 3,其會從搜尋行中移除碼及下一個3行以add標籤上的資料取代
若搜尋位置為top 及 offset 3,其會在文件的最前3行下面放置add標籤上的資料
若搜尋位置為bottom 及 offset 3,其會在文件的最後3行前面放置add標籤上的資料
可選index屬性為搜尋標籤的例項將要指定動作標示
若搜尋字串為”echo”,在文件中有5個echo值,而只想取代第1和第3的值,可使用index=”1,3″來標示
多個實例是逗號來分隔,啟始值為”1″
遺漏或設置為false則取代所有例項。(預設)
可選regex屬性用於指定是否要以正規表示法模式來搜尋。
若為 true,則是以有效的正規表示法模式來搜尋
遺漏或設置為false則是使用正常字串來搜尋(預設)
可選trim屬性設置為 true|false
true將修剪遠離空白和換行。
        遺漏或設置為true,則代表要修剪。(預設為 true)

<search position=”replace” regex=”true”> 為在搜尋標籤中的資料取代 且用正規表示法模式來搜尋
<search position=”after”>                 /*after: 在尋找到的字符串後面增加;before:在尋找到的字符串前面增加;replace:替換尋找到的字符串*/
<search position=”after” offset=”6″> /*在尋找到的字符串後面增加
補充:
如要在一個文件中的某句前加入一段代碼,但該文件中搜索到多處有這句,可以使用index=「5」這樣的方式來指定要在第五處的前面加入。
比如:              <search position=”before” index=”2,4,6″><![CDATA[xxxxxxxxxxxx]]></search>即在文件中搜索xxxxxxxxxxxx,在搜索到的第2,4,6處改行前面加入。

#錯誤示範<search position=”after”><add offset=”6″>
#正確示範<search position=”after” offset=”6″><add>

<?xml version=”1.0″ encoding=”UTF-8″?>
<modification>
    <id>backgroundcorrection</id>
    <version>v1.0適用OPENCART2.3.X</version>
    <vqmver required=”true”>2.6.0</vqmver>
    <author>SuffixBig</author>
    <file name=”admin/controller/common/dashboard.php”>
        <operation error=”skip” info=”For non OCMod includes/requires”>
            <search position=”after” offset=”6″><![CDATA[
            if ($width >= 12) {
            ]]></search>
            <add><![CDATA[
if ($width >0  && $width < 12) {
$data[‘rows’][] = $column;//此3行我加的-不足12一行的部分應該也要出現
}
            ]]></add>
        </operation>
    </file>
</modification>

#結果 會在找到字串的下面6行然後加上1行空白和你要替換的內容

            if ($width >= 12) {
                $data[‘rows’][] = $column;
                $width = 0;
                $column = array();
            }
        }
if ($width >0  && $width < 12) {
$data[‘rows’][] = $column;//此3行我加的-不足12一行的部分應該也要出現
}

vQMOD 參數詳細

vQmod支援的參數有:
modification
這是檔案最高級別,也只有一個。
modification / id
這是模組的名稱和描述。
格式:文字形式。(信息)
modification / version
這是模組的版本。
格式:數字或Decimal (1.0.0)
modification / vqmver
這是最短VirtualQMod所需版本的腳本。
格式:數字或Decimal (1.0.0)
modification / author
這是模組的作者。
格式:文字形式。(信息)
modification / file
此為要變更的檔案名稱
需名稱屬性其為檔案文件名稱如index.php檔案的相對位置(如catalog/controller/product/product.php)。 名稱屬性支援建立動態路徑萬用字元(*)。每個萬用字元僅限於一個單一的目錄級別。
– catalog/view/theme/*/template/product/product.tpl
– catalog/view/theme/*/*/product/product.tpl
等等….
在一個 XML檔案中可標記多個標籤,每個檔案都可有自己的一套操作。
modification / file / operation
這是實際發生的操作包裝。
可以有多個相同檔案標籤。
可選的”error”屬性設置為skip | log | abort
skip意含所有其他操作將不可應用。將不會在log顯示錯誤。
log相同於skip,但會記錄錯誤。
abort意含記錄錯誤日誌和恢復到初始的來源。(預設)
modification / file / operation / search
這為所需操作的第一步。
只能搜尋單一行。但可使用offset 及 index屬性來協助。
自動修剪空白和換行
一個操作的標籤
推薦使用CDATA標籤來包裝程式碼。
需位置屬性來設置為before|after|replace|top|bottom|all幾種型式。
replace 為在搜尋標籤中的資料取代為add標籤上的資料。(預設)
before 為在搜尋標籤中的資料之前插入add標籤上的資料。
after 為在搜尋標籤中的資料之後插入add標籤上的資料。
top 為在文件頂部插入add標籤上的資料。搜尋資料會被忽略。
bottom 為在文件底部插入add標籤上的資料。搜尋資料會被忽略。
all 將完全以add標籤上的資料取代所有資料。搜尋資料會被忽略。
可選offset屬性為要工作的位置
若搜尋位置為before 及 offset 3,其會放置add標籤上的資料在搜尋前3行
若搜尋位置為after 及 offset 3,其會放置add標籤上的資料在搜尋後3行
若搜尋位置為replace 及 offset 3,其會從搜尋行中移除碼及下一個3行以add標籤上的資料取代
若搜尋位置為top 及 offset 3,其會在文件的最前3行下面放置add標籤上的資料
若搜尋位置為bottom 及 offset 3,其會在文件的最後3行前面放置add標籤上的資料
可選index屬性為搜尋標籤的例項將要指定動作標示
若搜尋字串為”echo”,在文件中有5個echo值,而只想取代第1和第3的值,可使用index=”1,3″來標示
多個實例是逗號來分隔,啟始值為”1″
遺漏或設置為false則取代所有例項。(預設)
可選regex屬性用於指定是否要以正規表示法模式來搜尋。
若為 true,則是以有效的正規表示法模式來搜尋
遺漏或設置為false則是使用正常字串來搜尋(預設)
可選trim屬性設置為 true|false
true將修剪遠離空白和換行。
遺漏或設置為true,則代表要修剪。(預設為 true)
modification / file / operation / add
這為所需操作的第三步。
可多行
一個操作的標籤
add標籤上的資料取決於屬性搜尋的位置。
使用CDATA標籤來包含程式碼。
可選trim屬性可設置為 true|false
true將修剪遠離空白和換行。
遺漏或設置為true,則代表要修剪。(預設為 true)
<![CDATA[ ]]>
此被稱為CDATA tags和其被用來指定xml資料。建議增加資料則是使用 search及 add operation tags

20170627 OPENCART後台-資訊總覽-為什麼只開2項會不出現,最少要開4項才出現

20170627 OPENCART後台-資訊總覽-為什麼只開2項會不出現,最少要開4項才出現
admin\controller\common\dashboard.php 作者在源碼當中有註解
// Split the array so the columns width is not more than 12 on each row. //拆分數組,使每行的列寬不超過12。
因為條件寬 要大於12才出現-沒超過12就整行不出現- 也就是說-你要用12來組合成1行
廢話不多說,這段程式明顯邏輯有問提,造我這樣修改就對了
admin\controller\common\dashboard.php 修改目標
這段
if ($width >= 12) {
$data[‘rows’][] = $column;

$width = 0;
$column = array();
}
下面加上3行
if ($width >= 12) {
$data[‘rows’][] = $column;

$width = 0;
$column = array();
}
}
if ($width >0 && $width < 12) { $data['rows'][] = $column;//此3行我加的-不足12一行的部分應該也要出現 }

網址解析

parse_url($data, PHP_URL_SCHEME); //切出 http 的部分
$url = ‘http://username:password@hostname/path?arg1=value1&arg2=value2#anchor’;
print_r(parse_url($url));
首先,先看一下這個程式的輸出結果
Array (
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => /path
[query] => arg1=value1&arg2=value2
[fragment] => anchor )
其中,scheme是指他走的路線,而host則是站台網址,user則是使用者名稱,pass則是密碼,path則是路徑,query則是參數,fragment則是錨點。
而在「$component」的部份,則是有以下的參數可供傳遞。
PHP_URL_SCHEME
PHP_URL_HOST
PHP_URL_USER
PHP_URL_PASS
PHP_URL_PATH
PHP_URL_QUERY
PHP_URL_FRAGMENT
而這幾個參數則分別代表了Array中的scheme、host、user、pass、path、query和fragment。

OPENCART購物車-電子票劵下載檔案系統購買流程SOP與可能發生錯誤之原因

OPENCART購物車-電子票劵下載檔案系統購買流程SOP與可能發生錯誤之原因

OPENCART
您沒有購買過任何可下載的數位商品
下載文件
尚無含有下載文件的訂單!

原因

他是用訂單狀態去判斷你能否下載檔案
(3,’貨到付款–處理中’)或(5,’線上刷卡–處理中’)這2個狀態才會有下載檔案
而你增加一個訂單狀態如(7, 1, ‘已完成交易’)的話
會員下載文件資料就會變成不能下載,因為不論有幾個狀態,最後的狀態為準
OPENCART 下載檔案系統必定修改的地方 就是
\catalog\model\account\download.php 裡面 AND (o.order_status_id = ‘5’ OR o.order_status_id = ‘3’)
應該改成7和8才對
—————————————–
(1, 1, ‘待處理’),
(2, 1, ‘訂單處理中’),
(3, 1, ‘貨到付款–處理中’),
(4, 1, ‘ATM轉帳–請匯款’),
(5, 1, ‘線上刷卡–處理中’),
(6, 1, ‘到店取貨–等待中’),
(7, 1, ‘已完成交易’),
(8, 1, ‘已出貨’),
(9, 1, ‘已取消’),
(10, 1, ‘退款處理中…’);
〠▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧
#假設你要賣 電子票劵‎
〠▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧
1.別的網站如何賣票券
    http://support.accupass.com/knowledgebase/articles/150617-%E9%9B%BB%E5%AD%90%E7%A5%A8%E5%88%B8%E4%BD%BF%E7%94%A8%E6%87%B6%E4%BA%BA%E5%8C%85
    https://www.okbon.com/
    https://www.okbon.com/detail.php?unit=34 內容大致如下
〠▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧
#後台 電子票劵 下載型數位商品 功能 設定流程‎
〠▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧
登入後台=>商品管理=>數位商品下載
        新增
            檔案名稱
            偽裝
#檔案真實位置 和檔名
\system\storage\download
\system\storage\download\qrcode.png.TQGptDfUmZyLZbkWQukscwJ9F2Xd482k
〠▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧
#前台 電子票劵‎ 購買流程
〠▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧
已完成訂購
    您的訂單已成功送出,我們會在儘快處理!
    您可以到 會員專區, 或點擊 訂購記錄 查看訂單記錄。
    如果您的購買有相關的下載,您可以到 下載頁面 下載。
    如有任何問題或意見,請 連絡我們。
    感謝您的訂購!
=============================================
#訂單狀態 要哪一種才會出現下載文件
=============================================
訂單狀態 已出貨     無用
訂單狀態 已完成交易     無用
OPENCART
您沒有購買過任何可下載的數位商品
下載文件
尚無含有下載文件的訂單!
————————————————————————-
(1, 1, ‘待處理’),
(2, 1, ‘訂單處理中’),
(3, 1, ‘貨到付款–處理中’),
(4, 1, ‘ATM轉帳–請匯款’),
(5, 1, ‘線上刷卡–處理中’),
(6, 1, ‘到店取貨–等待中’),
(7, 1, ‘已完成交易’),
(8, 1, ‘已出貨’),
(9, 1, ‘已取消’),
(10, 1, ‘退款處理中…’);
訂單狀態要 3 和 5 才會有下載文件
後台
    智付寶Pay2go的訂單初始狀態(Order Default Status):要設為線上刷卡–處理中’
    編輯貨到付款模組-訂單狀態-貨到付款–處理中
=============================================
#程式位置
=============================================
/index.php?route=account/download                下載清單
/index.php?route=account/download/download&download_id=1    下載程式
=============================================
#相關資料表
SELECT * FROM     `oc_upload`        上傳檔案
SELECT * FROM    `oc_product_to_download`    商品下載資料表
=============================================
上傳檔案
INSERT INTO `oc_upload` (`upload_id`, `name`, `filename`, `code`, `date_added`) VALUES
(1, ‘0006.jpg’, ‘0006.jpg.rKbDQeXofbieNRQddYQZyLjinABdX246′, ’25ce74194786aad9690ecc7b2e83040e27ed80f3’, ‘2017-05-04 16:45:08’);
#商品id,下載id 對應表 product_to_download=>download_id對應upload=>upload_id
INSERT INTO `oc_product_to_download` (`product_id`, `download_id`) VALUES
(10, 1),
(12, 1);
=============================================
#撈資料的條件
=============================================
SELECT DISTINCT d.download_id, o.order_id, o.date_added, dd.name, d.filename FROM `oc_order` o LEFT JOIN oc_order_product op ON (o.order_id = op.order_id) LEFT JOIN oc_product_to_download p2d ON (op.product_id = p2d.product_id) LEFT JOIN oc_download d ON (p2d.download_id = d.download_id) LEFT JOIN oc_download_description dd ON (d.download_id = dd.download_id) WHERE o.customer_id = ‘4’ AND dd.language_id = ‘1’ AND (o.order_status_id = ‘5’ OR o.order_status_id = ‘3’) ORDER BY o.date_added DESC LIMIT 0,15
#分析
SELECT DISTINCT d.download_id, o.order_id, o.date_added, dd.name, d.filename FROM `oc_order` o
LEFT JOIN oc_order_product op ON (o.order_id = op.order_id) LEFT JOIN oc_product_to_download p2d ON (op.product_id = p2d.product_id) LEFT JOIN oc_download d ON (p2d.download_id = d.download_id) LEFT JOIN oc_download_description dd ON (d.download_id = dd.download_id) WHERE o.customer_id = ‘4’ AND dd.language_id = ‘1’ AND (o.order_status_id = ‘5’ OR o.order_status_id = ‘3’)
ORDER BY o.date_added DESC LIMIT 0,15
使用資料表
oc_order        訂單
oc_order_product    購買的商品
oc_product_to_download    商品下載資料表
oc_download
———————————————————–
order_status_id 訂單狀態(關聯order_status主鍵)
(1, 1, ‘待處理’),
(2, 1, ‘訂單處理中’),
(3, 1, ‘貨到付款–處理中’),
(4, 1, ‘ATM轉帳–請匯款’),
(5, 1, ‘線上刷卡–處理中’),
(6, 1, ‘到店取貨–等待中’),
(7, 1, ‘已完成交易’),
(8, 1, ‘已出貨’),
(9, 1, ‘已取消’),
(10, 1, ‘退款處理中…’);
條件
o.customer_id = ‘4’ AND dd.language_id = ‘1’
o.order_status_id = ‘5’ OR o.order_status_id = ‘3’
表示
SELECT * FROM `oc_order` 這裡面 會員的註冊ID 和 order_status_id 要為5或3
=============================================
#錯誤的原因
=============================================
SELECT * FROM `oc_order` 這裡面的 order_status_id 要為5或3
也就是
(3,’貨到付款–處理中’)或(5,’線上刷卡–處理中’)這2個狀態才會有下載檔案
而你增加一個訂單狀態如(7, 1, ‘已完成交易’)的話
會員下載文件資料就會變成不能下載,因為不論有幾個狀態,最後的狀態為準
=============================================
#進階修正法
=============================================
OPENCART 下載檔案系統必定修改的地方 就是
\catalog\model\account\download.php 裡面 AND (o.order_status_id = ‘5’ OR o.order_status_id = ‘3’)
應該改成7和8才對
—————————————–
或是不改程式你修正資料庫的資料也可以
SELECT * FROM `oc_order_status`
資深工程師重整版
(1, 1, ‘待處理’),
(2, 1, ‘訂單處理中’),
(3, 1, ‘貨到付款–處理中’),
(4, 1, ‘ATM轉帳–請匯款’),
(5, 1, ‘線上刷卡–處理中’),
(6, 1, ‘到店取貨–等待中’),
(7, 1, ‘已完成交易’),
(8, 1, ‘已出貨’),
(9, 1, ‘已取消’),
(10, 1, ‘退款處理中…’);
原版-少了4和6
(2, 1, ‘處理中’),
(3, 1, ‘已配送’),
(7, 1, ‘已取消’),
(5, 1, ‘已完成’),
(8, 1, ‘已拒絕’),
(9, 1, ‘取消恢復’),
(10, 1, ‘失敗’),
(11, 1, ‘已返還’),
(12, 1, ‘Reversed’),
(13, 1, ‘已退款’),
(1, 1, ‘待處理’),
(16, 1, ‘空訂單’),
(15, 1, ‘已處理’),
(14, 1, ‘已過期’);
#英文對照
(1, 1, ‘Pending’),
(2, 1, ‘Processing’),
(3, 1, ‘Shipped’),
(7, 1, ‘Canceled’),
(5, 1, ‘Complete’),
(8, 1, ‘Denied’),
(9, 1, ‘Canceled Reversal’),
(10, 1, ‘Failed’),
(11, 1, ‘Refunded’),
(12, 1, ‘Reversed’),
(13, 1, ‘Chargeback’),
(14, 1, ‘Expired’),
(15, 1, ‘Processed’),
(16, 1, ‘Voided’),
#本人作法1
保留原版 修改 注意 狀態3 已出貨 和狀態5 已完成交易 不能更動名稱
TRUNCATE oc_order_status          #清空舊表
INSERT INTO `oc_order_status` (`order_status_id`, `language_id`, `name`) VALUES
(1, 1, ‘待處理’),
(2, 1, ‘訂單處理中’),
(3, 1, ‘已出貨 ‘),
(4, 1, ‘到店取貨–等待中’),
(5, 1, ‘已完成交易’),
(6, 1, ‘貨到付款–處理中’),
(7, 1, ‘已取消’),
(8, 1, ‘已拒絕’),
(9, 1, ‘取消恢復’),
(10, 1, ‘失敗’),
(11, 1, ‘已返還’),
(12, 1, ‘退款處理中…’),
(13, 1, ‘已退款’),
(14, 1, ‘已過期’),
(15, 1, ‘已處理’),
(16, 1, ‘空訂單’),
(17, 1, ‘ATM轉帳–請匯款’);
—————————————————————–
#本人作法2
#使用修改\catalog\model\account\download.php 裡面 AND (o.order_status_id = ‘7’ OR o.order_status_id = ‘8’)
TRUNCATE oc_order_status
INSERT INTO `oc_order_status` (`order_status_id`, `language_id`, `name`) VALUES
(1, 1, ‘待處理’),
(2, 1, ‘訂單處理中’),
(3, 1, ‘貨到付款–處理中’),
(4, 1, ‘ATM轉帳–請匯款’),
(5, 1, ‘線上刷卡–處理中’),
(6, 1, ‘到店取貨–等待中’),
(7, 1, ‘已完成交易’),
(8, 1, ‘已出貨’),
(9, 1, ‘已取消’),
(10, 1, ‘已返還’),
(11, 1, ‘退款處理中…’),
(12, 1, ‘已退款’),
(13, 1, ‘已過期’),
(14, 1, ‘已處理’),
(15, 1, ‘空訂單’);

自寫關閉預設會員註冊功能

<?xml version=”1.0″ encoding=”utf-8″?>
<modification>
<name>自寫關閉預設會員註冊功能</name>
<version>2.4</version>
<link> </link>
<author><![CDATA[SuffixBig suffixbig@gmail.com]]></author>
<code>shutdown_accountregister2</code>
<!–註解:修改檔案–>
<file path=”catalog/view/theme/*/template/account/register.tpl”>
<operation>
<search><![CDATA[<h1><?php echo $heading_title; ?></h1>]]></search>
<add position=”replace”><![CDATA[
<!–<h1><?php echo $heading_title; ?></h1>
]]></add>
</operation>
<operation>
<search><![CDATA[<?php echo $content_bottom; ?></div>]]></search>
<add position=”replace”><![CDATA[
<?php echo $content_bottom; ?>–></div>
]]></add>
</operation>
</file>
</modification>

OCMOD

OCMOD 是 opencart 系統的程式碼修改系統,遵循GPL3協議免費使用。
如果 OCMOD 外掛開發正確,那麼使用者就可以在不更改系統核心程式碼的情況下增刪相關程式功能,
這也代表如果移除了某 OCMOD 外掛,則 opencart 的原始程式是不需要恢復或修復的。
OCMOD 是基於 Qphoria 的 VQMOD 系統。
OCMOD 是簡化版的 VQMOD. 主要區別:
保留了 Replace, Before, After, Regex, Offset, Limit, ignoreif, error
去掉了 Attributes top, bottom, ibefore, iafter
OCMOD 檔案可以透過 opencart 網站管理後台的[擴充功能]上傳:
若要上傳 OCMOD 檔案,則該檔案的附檔名必須為 .ocmod.zip 或者 .ocmod.xml。
這是為了避免非 ocmod 的檔案上傳到網站後台。

#OCMOD 的xml檔上傳之後 資料是存到資料庫 modification
系統檔案
system\storage\modification
後台相關檔案
D:\wamp\www\o03\admin\model\extension

#找到3個相同怎辦

可選index屬性為搜尋標籤的例項將要指定動作標示
若搜尋字串為”echo”,在文件中有5個echo值,而只想取代第1和第3的值,可使用index=”0,2″來標示
<search index=’2′><![CDATA[$data[‘header’] = $this->load->controller(‘common/header’);]]></search>
index=’2′ 改找到的第3個
<search index=”0″>0的結果是 只改第1個找到的

OCMOD 也是有 暫存檔 因為OCMOD改哪個檔-該檔案就會變成 直接改後上傳也無用要按更新才會改動
\system\storage\modification\admin\controller\common\column_left.php

#行數計算
===
                ‘edit’          => $this->url->link(‘sale/order/edit’, ‘token=’ . $this->session->data[‘token’] . ‘&order_id=’ . $result[‘order_id’] . $url, true)
            );
        }
#要加在}之前的話-要設 <add position=”after” offset=”1″> 本身找到那行是0 );後是1
/*
<file path=”catalog/controller/common/home.php”> 目標檔案
<add position=”replace”>
after : 在尋找到的字符串後面增加;     這裡有疑問 也有寫法是 Ater
before:在尋找到的字符串前面增加;
replace:替換尋找到的字符串
<add position=”replace”><![CDATA[
test123
]]></add>
*/

#以下為寫法範例

<?xml version=”1.0″ encoding=”utf-8″?>
<modification>
  <name>test 01</name>
  <code>test 01</code>
  <version>1.0</version>
  <author><![CDATA[作者suffixbig suffixbig@gmail.com]]></author>
  <link>http://www.opencart.com</link>
  <file path=”catalog/controller/common/home.php”>
    <operation>
      <search>
        <![CDATA[
        $data[‘column_left’] = $this->load->controller(‘common/column_left’);
        ]]>
      </search>
      <add position=”replace”>
        <![CDATA[
        echo ‘test123’;
        ]]>
      </add>
    </operation>
  </file>
</modification>

後台檔案也能是修改目標

    <file path=”admin/controller/sale/return.php”>
        <operation>
            <search><![CDATA[
                protected function getList() {
                ]]>
            </search>
            <add position=”before” offset=”6″>
                <![CDATA[
                if(isset($this->request->get[‘next’]) && $this->request->get[‘next’] == ‘guest/guestreturn’) {
                    $next = $this->request->get[‘next’];
                    $this->response->redirect($this->url->link($next, ‘token=’ . $this->session->data[‘token’], true));
                }
                ]]>
            </add>
        </operation>
    </file>

找到字之後的下幾行  offset=偏移量

<add position=”after ” offset=”6″>
position=」before」 (位置為之前)和偏移為3行。找到【$var = 『123』;】的位置向上偏移3行插入add裡面的數據
position=」after「  (位置為後面)和偏移為3行。找到【$var = 『123』;】的位置向下偏移3行插入add裡面的數據
position=」replace「(位置為替換)和偏移為3行。找到【$var = 『123』;】的位置從當前位置到向下偏移3行全部清除,並用add裡面的數據替換
#被去掉了
position=」top「    (位置為頂部)和偏移為3行。找到【$var = 『123』;】的位置從頂部向下偏移3行的頂部
position=」bottom「 (位置為底部)和偏移為3行。找到【$var = 『123』;】的位置從底部上方3行文件的底部
錯誤原因
Parse error: syntax error, unexpected end of file, expecting function (T_FUNCTION) in /usr/local/www/public/system/storage/modification/admin/controller/common/dashboard.php on line 88
<add position=”after ” offset=”6″> 打成 <add position=”ater ” offset=”6″>

同一檔改2段要這樣寫,你只寫一個<operation>的話,第2段不會執行

<?xml version=”1.0″ encoding=”utf-8″?>
<modification>
    <name>自寫關閉預設會員註冊功能</name>
    <version>2.4</version>
    <link> </link>
    <author><![CDATA[SuffixBig suffixbig@gmail.com]]></author>
    <code>shutdown_accountregister2</code>
    <!–註解:修改檔案–>
    <file path=”catalog/view/theme/*/template/account/register.tpl”>
        <operation>
            <search><![CDATA[<h1><?php echo $heading_title; ?></h1>]]></search>
            <add position=”replace”><![CDATA[
            <!–<h1><?php echo $heading_title; ?></h1>
            ]]></add>
        </operation>
        <operation>
            <search><![CDATA[<?php echo $content_bottom; ?></div>]]></search>
            <add position=”replace”><![CDATA[
      <?php echo $content_bottom; ?>–></div>
            ]]></add>
        </operation>
    </file>
</modification>

NOT FOUND – OPERATIONS ABORTED! 找不到問題
換行和空格 所有範例目前 沒找到有2行的 \r\n 換行該如何處理

FILE: catalog/view/theme/default/template/account/register.tpl
CODE: <div class=”form-group”>
            <label class=”col-sm-2 control-label” for=”input-fax”><?php echo $entry_fax; ?></label>
            <div class=”col-sm-10″>
              <input type=”text” name=”fax” value=”<?php echo $fax; ?>” placeholder=”<?php echo $entry_fax; ?>” id=”input-fax” class=”form-control” />
            </div>
          </div>
NOT FOUND – OPERATIONS ABORTED!
找不到

\r\n 這樣也不對

FILE: catalog/view/theme/default/template/account/register.tpl
CODE: <script type=”text/javascript”><!–\r\n$(‘button[id
NOT FOUND – OPERATIONS ABORTED!

#xml 中 name 不能有&符號

<?xml version=”1.0″ encoding=”utf-8″?>
<modification>
    <name>Facebook登入&註冊</name>
    <version>v1.0適用OPENCART2.3.0.2</version>
    <code>03032016002158</code>
    <author>suffixbig 此插件其實沒修改任何檔案</author>
    <link></link>
</modification>

#再附上一個成功案例

<?xml version=”1.0″ encoding=”utf-8″?>
<modification>
    <name>將訂單內容地址數字部分取代為星號</name>
    <version>1.0</version>
    <link></link>
    <author>SuffixBig – suffixbig@gmail.com</author>
    <code>Theorderaddressnumberispartiallyreplaced</code>
    <!–註解:修改目標檔案–>
    <file path=”catalog/controller/account/order.php”>
    <!–地址2–>
        <operation>
            <search><![CDATA[
            ‘address_1’ => $order_info[‘payment_address_1’]
            ]]></search>
            <add position=”replace”><![CDATA[
            ‘address_1’ => preg_replace(‘@\d@’,’*’,$order_info[‘payment_address_1’])
            ]]></add>
        </operation>
        <operation>
            <search><![CDATA[
            ‘address_1’ => $order_info[‘shipping_address_1’]
            ]]></search>
            <add position=”replace”><![CDATA[
            ‘address_1’ => preg_replace(‘@\d@’,’*’,$order_info[‘shipping_address_1’])
            ]]></add>
        </operation>
    </file>
</modification>

VQMOD 看 修改後的檔案 源碼 /vqmod/vqcache 目錄下有暫存檔
OCMOD 看 修改後的檔案 源碼 完全不知道該如何才有辦法看到 (因為谷哥大神完全查不到 事隔一個月20170704 才查到位置 )

OCMOD 也是有 暫存檔 因為OCMOD改哪個檔-該檔案就會變成 直接改後上傳也無用要按更新才會改動
\system\storage\modification\admin\controller\common\column_left.php

OpenCart 是他一個人寫出來的 (Daniel Kerr)

OpenCart 是他一個人寫出來的 (Daniel Kerr)

 

專訪
http://www.opencartnews.com/interviews/an-interview-with-opencart-founder-daniel-kerr/
.
以下 google 翻譯
.
作為OpenCart創始人和開發人員,Daniel Kerr是開源社區的知名人士。

我最近有機會訪問丹尼爾·克爾。他談到了他今天的工作,發布OpenCart 1.5.5,下一個版本可以看到什麼,以及他未來的計劃。

Q#1 – 你好,丹尼爾,你好嗎?感謝您給我們您的第一次面試。告訴我們,你的生活和工作最近有什麼事情?

你好,我很好,一切都很好。

Q#2 – 很多問題在我腦海裡問,但我會從基本問題開始。請告訴我們什麼時候和什麼讓你想開發OpenCart?

等待OsCommerce發布他們的下一個版本。那些傢伙真的放下了球。而不是更新系統以使用正確的OOP框架,他們只是將垃圾代碼堆疊在垃圾代碼之上。

Q#3 – OpenCart的名字聽起來很簡單,引人入勝,是你的想法還是從別的?

我以為因為我希望這個項目是開源的,所以它應該有一個開放的詞,比如Open Office。

我經歷了不少名字,這樣的Live Cart,Oscart。有人已經擁有域名OpenCart.com,我想如果我要開始這個項目,我也可以花費額外的錢來獲得我想要的名字,所以我不斷通過電子郵件發送所有者提供的域名。

我設法買了1000美元。對我來說,當時我住在我媽媽的家裡,沒有工作,這是非常多的。

Q#4 – 您如何看到OpenCart與現有的開源電子商務軟件?

我看到OpenCart目前是市場上最好的。其他解決方案在代碼中過於復雜。

Q#5 – OpenCart 1.5.5剛剛發布,很多開發人員不滿意的發布,他們認為是半途而止的釋放。你說什麼?

不是真的。你不能讓大家開心。自從我上次發布以來已經有將近6個月了,我想得到一些東西。花了這麼長時間的原因是因為我對OpenCart.com做了很多更新。

我重新設計了主站點,更新了擴展部分,並從頭開始寫了一個文檔系統。

Q#6 – 許多OpenCart設計師和開發人員通過銷售OpenCart主題賺取數千美元。 Shoppica即將觸及5,000個銷售額。當你聽到這一切的時候你感覺如何?

OpenCart不斷增長。我以為我們現在已經達到頂峰,但是我們每個月的銷售量都比上個月大約增加500多個。去年10月至11月,銷售額在一個月內躍升至1000多個。

Q#7 – 很多嗡嗡聲“Attn主題開發者…我們需要干預”論壇帖子,我們想听聽您對這次辯論的意見?

由於他的擴展和主題開發人員替代部分代碼的問題,所以Qphoria放棄了這一點。我計劃將自己的類型的vqmod系統添加到下一個版本,所以希望模板設計者將使用它而不是修改核心文件。

Q#8 – 請分享您現在和未來OpenCart的計劃嗎?

OpenCart的未來計劃是關於添加新功能,直到我們覆蓋競爭對手擁有或沒有的每個功能。我正在添加自定義字段,允許用戶將自己的字段添加到客戶註冊和地址。目前只有CsCart內置這個功能。

OpenCart還有很多功能,競爭對手不像聯盟系統那樣。我也認為新的vqmod系統將使我們超越其他推車,因為它將使用戶對網站的修改變得非常簡單。

Q#9 – 您對HTML5和CSS3的簡短想法?有什麼計劃在未來開放OpenCart?

是的,這是我想盡快添加的東西。實際上我在想一個公司提供一個模板,或者使用我們設置的模板競爭系統來選擇一個模板來使用。

Q#10 – 您目前在OpenCart開發中面臨的最大挑戰是什麼?

還有幾個很難找到處於編碼層級的優秀開發人員。我現在有3名開發人員為我工作,我不斷試圖推動他們盡可能多地學習編碼。

當我第一次開始寫網站時,我正在全職工作,然後回家應該繼續工作,直到12歲。不是這是我期望的,但如果你擅長的東西,你會嘗試學習一切你可以關於它

Q#11 – 最近有設計比賽,請告訴我們如何去做,我們可以期待在不久的將來會更多嗎?

模板比賽將每月舉行一次。我為此寫了一個模板比賽系統。獲獎者將來決定誰能獲得最多的Facebook喜歡。

Q#12 – 你有什麼秘密或夢想的項目,你想揭示我們?

我希望進入託管解決方案。應該從我從電子商務行業的眾多來源收集到的東西,這就是大錢。

我還沒有解決的唯一問題是如何設置類似的東西

OPENCART 非會員-訂單查詢功能

〠▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧
#非會員-訂單查詢功能
非會員-如何查訂單
〠▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧
—————————————————-
非會員-如何查訂單? 內建真的無此功能,真的不能查
—————————————————-
非會員可以查詢訂單的功能 使用 插件 可以增加此功能用 訂單編號 和 EMAIL 查訂單
https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=28745&filter_search=guest%20order    #39美金
http://oc.webkul.com/demo1/index.php?route=guest/order/info                                #DEMO
——————————————————————————————————————————–
https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=4332&filter_search=guest%20order&filter_license=0    使用 訂單編號 和 EMAIL 和IP
http://vger.co.uk/two/index.php?route=account/guest                                    #DEMO
——————————————————————————————————————————–
https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=28108&filter_search=guest%20order    #結帳後訂單顯示自訂 (預設訂購完成後 是不顯示訂單的)
〠▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧
https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=21223                    #使用 訂單編號 和 EMAIL 免費
#GuestOrderView_1.4_for_OC_2.3.x.ocmod 使用方式
http://guestorderview.demo.isenselabs.com/index.php?route=account/guestorder                        #DEMO
〠▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧
1.拷貝檔案
2.登入後台
    擴充功能安裝=>上傳檔案
    擴充功能安裝=>代碼替換模組=>點右上的更新
20170608
    修改了語系檔英文目錄
COMOD修改目標catalog/language/*/extension/module/account.php
〠▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧
#出現位置
〠▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧
會員專區
    也就是點登入後 右邊的區塊選單=>他加在訂單歷史下面 Guest Order View 我當然把這字換成中文了
〠▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧
#運作流程
〠▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧
index.php?route=account/guestorder            程式位置 自貼網址也可以
查詢訂單記錄 輸入
    訂購電子郵件: suffixbig@gmail.com
    訂單ID 42
成功:確認電子郵件已發送到suffixbig@gmail.com。 請點擊電子郵件中的鏈接查看此訂單。
〠▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧
#EMAIL內容
〠▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧
標題:花蓮遠雄悅來大飯店 – 訂單查看確認
您好,請點擊下面的鏈接查看您的訂單。
http://apm013.surehigh.com.tw/index.php?route=account/guestorder/info&order_id=42&order_email=suffixbig@gmail.com&order_code=7d44069f5b    任何人知道這個連結都可以看