ECSHOP多语言切换多国货币切换
2016-06-13 13:05 来源:www.chinab4c.com 作者:ecshop专家
1、首先在我们的后台网店设置里要添加汇率转换的功能,如何添加网店功能自己摸索一下,你要把添加的功能插入表里。如图: 我们的汇率都是和美元进行转换的。 2、开始前台实现:首先我们在首页加上多语言的链接如图: 我们看下他的url
这个{$url_head} 我是重新建了一个文件 conn.php放到首页 每个文件调用 //路径处理 $url_this = "[url=http://]http://".$_SERVER[/url] ['HTTP_HOST'].$_SERVER['PHP_SELF']."?id=".$_GET['id']; $smarty->assign("url_head",$url_this); 3、我们发现都是在每个页面后面传了一次get值 那么在那接这些get值呢 我们肯定要找每个页面的共同文件 不难想到init.php 我在init.php的最后加入 [code]$currency = $_GET['currency']; if($currency!=""){ $_SESSION['currency'] = $currency; } if($_SESSION['currency'] == '') { $_SESSION['currency'] = 'USD'; } 这个代码大家明白吧 我接到get值后 给了session 如果session不存在话 我们默认就是usd 这样每个页面都可以获得当前的session值 . 4、 我们通过以上操作至少在每个页面可以搞定客户选的货币是什么,下来我们就考虑如何解决显示问题,如果每个页面都修改显示goods价格那多麻烦啊,我们熟 悉ecshop的朋友不难想到我们所有显示的价格都是在一个函数里进行里处理 ,这应该感谢官方的技术人员 代码写的好 当然是 lib_common.php里得price_format()这个函数 我们想一下 如果在这搞定是不是所有显示都搞定了 我们就从这入手 以下是我修改后的函数 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 的尾数 $price = preg_replace('/(.*)(\\.)([0-9]*?)0+$/', '\1\2\3', 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: // 先四舍五入,不保留小数 $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']); 这句是从数据库获得我们当时的参数 然后我们计算 同时返回值的时候我们用了系统设置的符号 解决问题 前台就这样搞定。 5、 有关交易 后台的操作我做简单的介绍 我们只是解决了显示问题 其实我们实质的数据还是美元 在我们提交订单的时候 我们在order_goods表加俩个字段一个是客户选的货币方式 这样生成订单后 当我进入我的会员中心我依然可以看到我购买人民币是多少钱 我们读取数据库的方式进行换算,另外一个字段是我们换算后的金额。当然我们之前美元的总金额都是在的 。在支付的时候 我们给贝宝付参数 就是货币类型 。搞定。
 
        
					
						
                          
					
				 
      
      最近更新
常用插件
- ecshop供应商插件免费下载
                                  ecshop供应商插件免费下载... 
- ecshop二次开发售后维修卡
                                  插件介绍: 本插件是用于专门从事电子,信息,软件等售后服务关键比... 
- ecshop按分类筛选销售排行
                                  ecshop按分类筛选销售排行... 
- ecshop快递发货单打印商品
                                  ecshop快递发货单打印商品信息,大家都知道ecshop快递单打印的时候,只能... 
- ecshop选择下单时间插件
                                  ecshop选择下单时间插件主要是根据不同的下单配送要求,在ecshop购物车... 
ecshop热门问答
ecshop热门资料
          
               
            ecshop会员整合 
                
            ecshop商标 
                
            ecshop欣赏 
                
            ecshop冲击力 
                
            ecshop-Power 
                
            ecshop小菜 
                
            ecshop静态页面 
                
            ecshop图像批量处理 
                
            ecshopgallery 
                
            ecshop去商标 
                
            ecshop动易商城 
                
            ecshop悬赏 
                
            ecshop邮件回复地址 
                
            ecshopthmes 
                
            ecshop图片本地化 
                
            ecshop分类树 
                
            ecshop浏览成手机模式 
                
            ecshop出新 
                
            ecshop取值 
                
            ecshop商品顺序 
                
            ecshop页面居中 
                
            ecshop团购活动 
                
            ecshop文件修改 
                
            ecshop小数显示 
                
            ecshop超好看 
                
            ecshop发布 
                
            ecshopnewred 
                
            ecshopajax的使用 
                
            ecshopcommon 
                
            ecshop画面 
             
        
      


 US Dollar
 US Dollar Euro
 Euro British Pound
 British Pound China RMB
 China RMB Austrilian Dollar
 Austrilian Dollar