Opencart | 修復1.5.5.1版本多項 Bug

我製作了這個外掛可以將目前已發現的 Opencart 1.5.5.1 版本 Bug 修復,只需要安裝一個 vqmod 即可。

此外掛包括

  1. 修復 tag 連結搜尋找不到商品
  2. 修復後台新增會員時出現 fax error
  3. 修復後台寄送信件時,內文不管有沒有填寫都會出現「請填寫內文」

後續若有發現新的 Bug 會持續更新此外掛。

VQMOD 下載 :
fixbug_1551.7z (668) hits

Opencart | 修復無法使用會員群組寄信 Bug (VQMOD)

1.5.2.1 版本的 Opencart 在使用後台寄信功能時,會無法寄信給會員群組收信人,其它版本不清楚是否有此問題。

建議使用 VQMOD 修復此 bug。

admin/controller/sale/contact.php 找到

替換成

VQMOD 下載 :
fix_group_mail.7z (684) hits

Opencart | 綠界超商付款模組串接簡訊通知功能

因為我不是個會寫程式的人,所以研究了好些日子 (主要有三天撞牆期,實際上只用了兩天),幸好最後也誤打誤撞試出來了,也因此學到了 CURL 的使用方式。

這個外掛可以讓消費者選擇 ibon 或其他超商代碼繳費時,也發送簡訊到消費者的手機,前提是電話欄位必須填寫手機,不然就會傳失敗。

模組使用 VQMOD ,可以一邊保留原始的綠界付款模組,若日後有不相容只要移除 VQMOD 即可,不過機率應該很小吧…。

後台原本想多一個設定簡訊發送內容,但由於每封限制70字中英混合,算一算並不適合後台再設定了(本來有預想可以順便夾帶促銷訊息),於是後台就剩下一個開關簡訊的功能。

Opencart | 修復商品頁錨點錯誤 (VQMOD)

目前在 Opencart 1.5.2.1 版本發現此 bug,其他版本不確定有沒有。

在商品頁使用連結錨點時,例如

會跳回商城首頁,無法正確指到錨點位置,這是 Jquery 的 bug,可以手動修改佈景或是使用我寫好的 VQMOD。

打開 catalog/view/theme/佈景目錄/template/common/header.tpl
在 </header> 前面加入

VQMOD 下載 (直接套用,免改佈景名稱):
fix_anchor.7z (890) hits

原始程式碼出自 Opencart 討論區 Anchor usage

Opencart | 依重量計算運費時,隱藏固定運費選項 (VQMOD)

若商店同時有設定固定運費與計重運費時,結帳頁會同時顯示這兩項運費,會造成消費者選錯或是根本不知道該選哪個。
這個小修正可以在有購買設有重量的商品時,以重量運費為標準,隱藏固定運費。

打開 catalog/model/shipping/flat.php ,尋找

在這前面加上

當後台設定的重量單位預設值單位大於 1 時,只會顯示重量運費,沒有更改過的話應該是以公斤為單位。
若要設定大於1公克,請在後台「系統管理/本地化/重量單位」將公克改為 1.00000、公斤為 0.001 (重量運費那邊也要更改計重單位)。
或是只更改 getWeight() >= 1 為 getWeight() >= 0.001 也行。

建議使用 VQMOD 版本,以便日後主程式升級維護:
weight_first.7z (787) hits

原程式碼出自 Opencart 討論區

Tips:
當消費者購買沒有設定運費的商品時,也會出現重量計費的運費選項,如果想要隱藏它,只要在後台的重量設定一筆 「0:,」就可以了。
舉例:
0:, 3:50, 10:80
當重量為 0 時隱藏重量計費選項/3公斤內50元/10公斤內80元

Opencart | 會員申請退換貨寄信通知管理員 (VQMOD)

原本以為當會員按下訂單的退換貨機制,管理員沒有收到信件通知是 Bug,但一查之下又好像不是這麼回事…意思就是要你很累每天登入後台看有沒有客人按下退換貨。(光想就好累啊)

還好已經有先人釋出解決方案,安裝之後就能收到會員提出的退換貨信件了。
外掛是由 RajPadhi 寫的 Alert on Return Request & New Affiliate,我僅抽出 Alert on Return Request 作中文化。

也可以手動修改,但不建議,還是用 VQMOD 比較方便。
手動修改如下:

開啟 catalog/controller/account/return.php 找出

下面加入

$message =”您的顧客 <strong>”.$this->customer->getFirstName().” “.$this->customer->getLastName().”</strong> 提出了退換貨申請,請登入後台「訂單與會員管理/退換貨」查看。<br/><br><br>”
.'<a href=”http://’.$_SERVER[“SERVER_NAME”].’/admin”>登入後台</a>’;

$mail = new mail();
$mail->protocol = $this->config->get(‘config_mail_protocol’);
$mail->parameter = $this->config->get(‘config_mail_parameter’);
$mail->hostname = $this->config->get(‘config_smtp_host’);
$mail->username = $this->config->get(‘config_smtp_username’);
$mail->password = $this->config->get(‘config_smtp_password’);
$mail->port = $this->config->get(‘config_smtp_port’);
$mail->timeout = $this->config->get(‘config_smtp_timeout’);
$mail->setTo($this->config->get(‘config_email’)); /* OR setTo(“MYEmail@MYDOMAIN.COM”); */
$mail->setFrom($this->config->get(‘config_email’)); /* OR setFrom(“MYEmail@MYDOMAIN.COM”); */
$mail->setSender($this->config->get(‘config_name’));
$mail->setSubject(($this->config->get(‘config_name’)) . ” – 退換貨申請”);
$mail->setHtml($message);
$mail->send();

下載 : return_alert.7z (765) hits

適用版本:v1.5.0, v1.5.0.1, v1.5.0.2, v1.5.0.3, v1.5.0.4, v1.5.0.5, v1.5.1, v1.5.1.1, v1.5.1.2, v1.5.1.3, v1.5.2, v1.5.2.1 (18 March 2012)