那些明白他們聖經的人,不應對世界的現狀感到意外。
Those who know their Bible should not be surprised at the state of the world as it is.
D.M. Lloyd-Jones

最後修改時間
2017-0104
版本
2.3.0.2

opencart 2.3.0.2-正體中文版

opencart 近些日子動作頻頻,版本更新很快,就連官網近日也在改版 ......
2.3版跟2.2版差異頗大,無法直接升級。有點討厭。
可是有再進化還是比一動也不動好!
其實還蠻懶得釋出中文版的,剛好有客人要用到,所以想說順便弄一下!
--------------------------
更改部份大致如下:
1. 將預設英文直接改為正體中文(language_id=1),若要使用多語請重新新增英文。
2. 中文語系的國家改為中文國名。
3. 地區群組新增台灣、中國、香港 .....,並改為中文。
4. 移除原本貨幣設定,改成台幣!
5. 主要修改的部份是資料庫安裝部份:
 /install  目錄下的 opencart.sql
 原本的檔案更名為  opencart_Source.sql
6. 語言目錄原為 zh-TW 改為 zh-tw
※PS:2016-0104 調整語言檔。
-----------------------------
安裝方式:(超簡單)
1. 解壓縮。
2. 將「upload」目錄內的檔案上傳。
3. 將根目錄中的「config-dist.php」及「admin/config-dist.php」,改為 config.php 設為可寫入!
4. 先設好資料庫:新增一個資料庫、設定使用者 .....
5. 連至網址首頁,即可進入安裝畫面。
-------------------------------------
有任何建議或指教請直接回應 ~
祝您 生意興隆、萬事平安!
 
....還..在..混...資..訊..業..的..........資深工讀生

檔案下載 (public)

回應

opencart 2.3.0.2-正體中文版 安裝後 前台會有錯誤
Notice: Undefined index: zh-tw in D:\wamp\www\o01\catalog\controller\startup\startup.php on line 106錯誤
$this->config->set('config_language_id', $languages[$code]['language_id']);//106行內容
可能有更好方法,我是先用104行增加如下解決
$languages['zh-tw']=$languages['zh-TW'];//104行添加//修正106行錯誤
2017/05/02 , 二 - 16:32
10號工程師 (未驗證)

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

原因

他是用訂單狀態去判斷你能否下載檔案
(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, '空訂單');
2017/06/14 , 三 - 17:05
台灣碼農 (未驗證)

我要回應~

下載分類