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

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

ecshop多語(yǔ)言切換多國(guó)貨幣切換

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

1、首先在我們的后臺(tái)網(wǎng)店設(shè)置里要添加匯率轉(zhuǎn)換的功能,如何添加網(wǎng)店功能自己摸索一下,你要把添加的功能插入表里。
我們的匯率都是和美元進(jìn)行轉(zhuǎn)換的。
2、開(kāi)始前臺(tái)實(shí)現(xiàn):首先我們?cè)谑醉?yè)加上多語(yǔ)言的鏈接如圖:
我們看下他的url
這個(gè){$url_head} 我是重新建了一個(gè)文件 conn.php放到首頁(yè) 每個(gè)文件調(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)都是在每個(gè)頁(yè)面后面?zhèn)髁艘淮蝕et值 那么在那接這些get值呢 我們肯定要找每個(gè)頁(yè)面的共同文件 不難想到init.php
我在init.php的最后加入
[code]$currency = $_GET['currency'];
if($currency!=""){
$_SESSION['currency'] = $currency;
}
if($_SESSION['currency'] == '')
{
$_SESSION['currency'] = 'USD';
}
這個(gè)代碼大家明白吧 我接到get值后 給了session 如果session不存在話 我們默認(rèn)就是usd 這樣每個(gè)頁(yè)面都可以獲得當(dāng)前的session值 .
4、 我們通過(guò)以上操作至少在每個(gè)頁(yè)面可以搞定客戶選的貨幣是什么,下來(lái)我們就考慮如何解決顯示問(wèn)題,如果每個(gè)頁(yè)面都修改顯示goods價(jià)格那多麻煩啊,我們熟 悉ecshop的朋友不難想到我們所有顯示的價(jià)格都是在一個(gè)函數(shù)里進(jìn)行里處理 ,這應(yīng)該感謝官方的技術(shù)人員 代碼寫(xiě)的好 當(dāng)然是 lib_common.php里得price_format()這個(gè)函數(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ù)庫(kù)獲得我們當(dāng)時(shí)的參數(shù) 然后我們計(jì)算 同時(shí)返回值的時(shí)候我們用了系統(tǒng)設(shè)置的符號(hào) 解決問(wèn)題 前臺(tái)就這樣搞定。
5、 有關(guān)交易 后臺(tái)的操作我做簡(jiǎn)單的介紹 我們只是解決了顯示問(wèn)題 其實(shí)我們實(shí)質(zhì)的數(shù)據(jù)還是美元 在我們提交訂單的時(shí)候 我們?cè)趏rder_goods表加倆個(gè)字段一個(gè)是客戶選的貨幣方式 這樣生成訂單后 當(dāng)我進(jìn)入我的會(huì)員中心我依然可以看到我購(gòu)買(mǎi)人民幣是多少錢(qián) 我們讀取數(shù)據(jù)庫(kù)的方式進(jìn)行換算,另外一個(gè)字段是我們換算后的金額。當(dāng)然我們之前美元的總金額都是在的 。在支付的時(shí)候 我們給貝寶付參數(shù) 就是貨幣類(lèi)型 。搞定。

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

轉(zhuǎn)載請(qǐng)注明: ecshop多語(yǔ)言切換多國(guó)貨幣切換

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