ECSHOP 的配送方式模組都包含一個語言檔和PHP 程式檔,語言檔和程式檔的檔案名稱必須一樣,而且是唯一的,不可與其他的配送模組重複,大部份情況下,你只須修改配送方式模組的標題和描述,即可成為自己的配送方式模組,但有的人想要製作真正屬於自己的模組,可以這麼做...
假設我想建立一個XX快遞的配送方式模組,檔案名稱為 my_shipping.php
1,languages/zh_tw/shipping 目錄內新增語言檔案,名稱為 my_shipping.php
基本的內容如下
2,includes/modules/shipping 目錄內新增程式檔案,名稱和語言檔相同 my_shipping.php
內容如下
假設我想建立一個XX快遞的配送方式模組,檔案名稱為 my_shipping.php
1,languages/zh_tw/shipping 目錄內新增語言檔案,名稱為 my_shipping.php
基本的內容如下
代碼: [選擇]
<?php
$_LANG['my_shipping'] = 'XX快遞';//配送方式模組名稱,顯示在前後台的配送方式$_LANG['my_shipping_desc'] = 'XX快遞配送方式的詳細描述';$_LANG['base_fee'] = '基本費用:';?>
2,includes/modules/shipping 目錄內新增程式檔案,名稱和語言檔相同 my_shipping.php
內容如下
代碼: [選擇]
<?php//載入語言檔$shipping_lang = ROOT_PATH.'languages/' .$GLOBALS['_CFG']['lang']. '/shipping/my_shipping.php';
if (file_exists($shipping_lang))
{
global $_LANG;
include_once($shipping_lang);
} //模組的基本設定if(isset($set_modules) && $set_modules == TRUE)
{
$i = (isset($modules)) ? count($modules) : 0;//模組的代碼必須與檔案同名
$modules[$i]['code'] = "my_shipping";
//模組的版本
$modules[$i]['version'] = '1.0.0';//模組的描述,來自語言檔
$modules[$i]['desc'] = 'my_shipping_desc';//是否使用貨到付款,是=TRUE、否=FALSE
$modules[$i]['cod'] = TRUE;//模組的作者
$modules[$i]['author'] = "andy";//模組作者的網站
$modules[$i]['website'] = "http://www.we-shop.net";//配送接口需要的參數
$modules[$i]['configure'] = array(
array('name' => 'base_fee', 'value'=>100),
);
return;
}//模組的類與檔案同名class my_shipping{
var $configure;//構造函數,與類同名
function my_shipping($cfg=array())
{
foreach ($cfg AS $key=>$val)
{
$this->configure[$val['name']] = $val['value'];
}
}//計算運費
function calculate()
{
$cart = cart_weight_price(); // 取得商品總重量以及總金額
if ($this->configure['free_money'] > 0 && $cart['amount'] >= $this->configure['free_money'])
{
return 0;//免運費
} else {
return $this->configure['base_fee'];//基本運費
}
}//查詢出貨狀態,顯示在前台的出貨查詢
function query($invoice_sn)
{
$form_str = '出貨查詢的表單或連結,$invoice_sn代表出貨單號';
return $form_str;
}
};?>
這樣就能建立一個基本的配送方式模組,基本模組只能計算一般運費,也就是不管買多少運費都一樣,適合小型商品,若是大型商品可能需要以重量或是件數計算,方式會比較複雜些...
沒有留言:
張貼留言