花魁直播高品质美女在线视频互动社区 - 花魁直播官方版

 歡迎來到素材無憂網(wǎng),按 + 收藏我們
登錄 注冊 退出 找回密碼

ecshop多貨幣切換插件,多貨幣切換二次開發(fā)教程教程

時間: 2024-02-25 10:43 閱讀: 作者:素材無憂網(wǎng)

1、首先在我們的后臺網(wǎng)店設(shè)置里要添加匯率轉(zhuǎn)換的功能,如何添加網(wǎng)店功能自己摸索一下,你要把添加的功能插入表里。我們的匯率都是和美元進(jìn)行轉(zhuǎn)換的。
2、開始前臺實現(xiàn):首先我們在首頁加上多語言的鏈接如圖:
我們看下他的url
這個{$url_head} 我是重新建了一個文件 conn.php放到首頁 每個文件調(diào)用
//路徑處理
$url_this = "[url=http://]http://".$_SERVER[/url] ['HTTP_HOST'].$_SERVER['PHP_SELF']."?id=".$_GET['id'];
$smarty->assign("url_head",$url_this);
3、我們發(fā)現(xiàn)都是在每個頁面后面?zhèn)髁艘淮蝕et值 那么在那接這些get值呢 我們肯定要找每個頁面的共同文件 不難想到init.php
我在init.php的最后加入
[code]$currency = $_GET['currency'];
if($currency!=""){
$_SESSION['currency'] = $currency;
}
if($_SESSION['currency'] == '')
{
$_SESSION['currency'] = 'USD';
}
這個代碼大家明白吧 我接到get值后 給了session 如果session不存在話 我們默認(rèn)就是usd 這樣每個頁面都可以獲得當(dāng)前的session值 .
4、 我們通過以上操作至少在每個頁面可以搞定客戶選的貨幣是什么,下來我們就考慮如何解決顯示問題,如果每個頁面都修改顯示goods價格那多麻煩啊,我們熟 悉ecshop的朋友不難想到我們所有顯示的價格都是在一個函數(shù)里進(jìn)行里處理 ,這應(yīng)該感謝官方的技術(shù)人員 代碼寫的好 當(dāng)然是 lib_common.php里得price_format()這個函數(shù) 我們想一下 如果在這搞定是不是所有顯示都搞定了 我們就從這入手 以下是我修改后的函數(shù)
function price_format($price, $change_price = true)
{
$currency = $_SESSION['currency'];
$rate = explode(',',$GLOBaLS['_CFG']['rate']);
if($currency == 'USD')
{
$price = $price*$rate[0];
}
if($currency == 'CNY')
{
$price = $price*$rate[3];
}
if($currency == 'EUR')
{
$price = $price*$rate[1];
}
if($currency == 'GBP')
{
$price = $price*$rate[2];
}
if($currency == 'aUD')
{
$price = $price*$rate[4];
}
if ($change_price && defined('ECS_aDMIN') === false)
{
switch ($GLOBaLS['_CFG']['price_format'])
{
case 0:
$price = number_format($price, 2, '.', '');
break;
case 1: // 保留不為 0 的尾數(shù)
$price = preg_replace('/(.*)(.)([0-9]*?)0+$/', '123', number_format($price, 2, '.', ''));
if (substr($price, -1) == '.')
{
$price = substr($price, 0, -1);
}
break;
case 2: // 不四舍五入,保留1位
$price = substr(number_format($price, 2, '.', ''), 0, -1);
break;
case 3: // 直接取整
$price = intval($price);
break;
case 4: // 四舍五入,保留 1 位
$price = number_format($price, 1, '.', '');
break;
case 5: // 先四舍五入,不保留小數(shù)
$price = round($price);
break;
}
}
else
{
$price = number_format($price, 2, '.', '');
}
switch ($currency)
{
case 'USD':
return sprintf($GLOBaLS['_CFG']['currency_format'], $price);
break;
case 'CNY':
return sprintf($GLOBaLS['_CFG']['cprice_format'], $price);
break;
case 'EUR':
return sprintf($GLOBaLS['_CFG']['aprice_format'], $price);
break;
case 'GBP':
return sprintf($GLOBaLS['_CFG']['ybprice_format'], $price);
break;
case 'aUD':
return sprintf($GLOBaLS['_CFG']['aoprice_format'], $price);
break;
}
}
$rate = explode(',',$GLOBaLS['_CFG']['rate']); 
這句是從數(shù)據(jù)庫獲得我們當(dāng)時的參數(shù) 然后我們計算 同時返回值的時候我們用了系統(tǒng)設(shè)置的符號 解決問題 前臺就這樣搞定。
5、 有關(guān)交易 后臺的操作我做簡單的介紹 我們只是解決了顯示問題 其實我們實質(zhì)的數(shù)據(jù)還是美元 在我們提交訂單的時候 我們在order_goods表加倆個字段一個是客戶選的貨幣方式 這樣生成訂單后 當(dāng)我進(jìn)入我的會員中心我依然可以看到我購買人民幣是多少錢 我們讀取數(shù)據(jù)庫的方式進(jìn)行換算,另外一個字段是我們換算后的金額。當(dāng)然我們之前美元的總金額都是在的 。在支付的時候 我們給貝寶付參數(shù) 就是貨幣類型 。搞定。

版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會員發(fā)布,如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時內(nèi)刪除!謝謝!

轉(zhuǎn)載請注明: ecshop多貨幣切換插件,多貨幣切換二次開發(fā)教程教程

標(biāo)簽: ecshop多  
相關(guān)文章
推薦文章
模板推薦