//1   在数据库里的表ecs_shop_config插入

insert into ecs_shop_config('id','parent_id','code','type','store_range','store_dir','value','sort_order') values(null,'1','rate','text','','','1,0.71,0.69,6.85,1.45','1'),(null,'1','ybprice_format','text','','','&%s','1'),(null,'1','aprice_format','text','','','EUR%s','1'),(null,'1','cprice_format','text','','','¥%s','1'),(null,'1','aoprice_format','text','','','AU%s','1');
//INSERT INTO `ecs_shop_config`(`id`, `parent_id`, `code`, `type`, `store_range`, `store_dir`, `value`, `sort_order`) VALUES (null,'1','rate','text','','','1,0.71,0.69,6.85,1.45','1'),(null,'1','ybprice_format','text','','','&%s','1'),(null,'1','aprice_format','text','','','EUR%s','1'),(null,'1','cprice_format','text','','','¥%s','1'),(null,'1','aoprice_format','text','','','AU%s','1')

//2   在/languages/zh_cn/admin/shop_config.php下添加 (73行)
 
 $_LANG['cfg_name']['rate'] = '货币汇率';
 $_LANG['cfg_name']['ybprice_format'] = '英镑格式';
 $_LANG['cfg_name']['aprice_format'] = '欧元格式';
 $_LANG['cfg_name']['cprice_format'] = '人民币格式';
 $_LANG['cfg_name']['aoprice_format'] = '澳元格式';

//并且添加下面的帮助信息 (199行)

$_LANG['cfg_desc']['rate'] = '输入规则按照和美元的汇率进行出入 Us,EURP,BriishPound,China,Austriliar';
$_LANG['cfg_desc']['ybprice_format'] = '显示英镑格式,%s将被替换为相应的价格。';
$_LANG['cfg_desc']['aprice_format'] = '显示欧元格式,%s将被替换为相应的价格。';
$_LANG['cfg_desc']['cprice_format'] = '显示人民币格式,%s将被替换为相应的价格。';
$_LANG['cfg_desc']['aoprice_format'] = '显示澳元格式,%s将被替换为相应的价格。';

//3.在themes/当前使用的模板文件夹/library/page_header.lbi的合适位置添加

<div class="TopNavList">
<li><a href="{$url_head}&currency=USD">美元</a><span></span></li>
<li><a href="{$url_head}&currency=CNY">人民币</a><span></span></li>
<li><a href="{$url_head}&currency=EUR">欧元</a><span></span></li>
<li><a href="{$url_head}&currency=GBP">英镑</a><span></span></li>
<li><a href="{$url_head}&currency=AUD">澳元</a><span></span></li>
</div> 
<select>
<option value="{$url_head}&currency=USD">美元</option>
<option value="{$url_head}&currency=CNY">人民币</option>
<option value="{$url_head}&currency=EUR">欧元</option>
<option value="{$url_head}&currency=GBP">英镑</option>
<option value="{$url_head}&currency=AUD">澳元</option>
</select>

//或
<div class="TopNavList">
<ul>
<li><a href="{$url_head}&currency=USD">美元</a><span></span></li>
<li><a href="{$url_head}&currency=CNY">人民币</a><span></span></li>
<li><a href="{$url_head}&currency=EUR">欧元</a><span></span></li>
<li><a href="{$url_head}&currency=GBP">英镑</a><span></span></li>
<li><a href="{$url_head}&currency=AUD">澳元</a><span></span></li>
</ul>
</div>

//    4在/includes/init.php最后面添加 //路径处理

$url_this="http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."?id=".@$_GET['id'];
$smarty->assign("url_head",$url_this);

$currency=@$_GET['currency'];

clear_all_files(); 清除缓存功能

if($currency!=""){
$_SESSION['currency']=$currency;
}
if($_SESSION['currency']==''){
$_SESSION['currency']='USD';
}

//    5.在/includes/lib_commom.php找到这个函数price_format并且按下面的进行修改 
/**   * 格式化商品价格 
 *   * @access  public 
 * @param   float   $price  商品价格 
 * @return  string 
*/

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('ESC_ADMIN')==false){
switch($GLOBALS['_CFG']['price_format']){
case 0:
$price=number_format($price,2,'.','');
break;
case 1: //保留不为3的尾数
$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;
}
}

// 6.修改表ecs_order_info

alter table 'ecs_order_info' add 'currency' varchar(10) not null,add 'new_money' decimal(10,2) not null

// 7.修改flow.php文件中
{
//分成功能关闭
$parent_id=0;
}

$order['parent_id']=$parent_id;

//大约1608行左右下面  插入以下代码

$order['currency']=$_SESSION['currency'];
$order['new_money']=price_format_hs($order['order_amount']);

//同时修改\inlucdes\lib_common.php在里面新增加price_format_hs函数

/** 
  * 用于支付换算  * 
 * @access  public 
 * @param   float   $price  商品价格  * @return  string 
*/

function price_format_hs($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('ESC_ADMIN')==false){
switch ($GLOBALS['_CFG']['price_format']){
case 0:
$price=number_format($price,2,'.','');
break;
case 1: //保留不为0的尾数
$price=price_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,'.','');
}
return $price;
}

// 8.在\includes\modules\payment\paypal.php 大约92行一个get_code函数

function get_code($order,$payment){
$paypal_currency=$_SESSION["currency"]; //新增加的
$data_order_id=$order['log_id'];
$data_amount=$order['order_amount'];
$data_return_url=return_url(basename(__FILE__,'.php'));
$data_pay_account=$payment['paypal_account'];
$currency_code=$paypal_currency; //把下一行复制出来,并下行注掉,修改为这一行
//$currency_code=$payment['paypal_currency'];
}

使用ECShop搭建外贸站多国货币切换功能相关推荐

  1. 跨境电商淘系、阿里巴巴海外站、外贸站搭建,代购系统源码PHP前端源码展示

    v2022版系统搭建更多详情了解请移步获取外贸站测试权限.工具. 测试权限:http://console.open.onebound.cn/console/?i=Turbo 系统简介: 1. 链接各大 ...

  2. 淘宝、1688海外站、外贸站搭建,代购系统源码PHP前端源码展示。

    v2022版系统搭建更多详情了解请移步获取外贸站测试权限.工具. https://console.open.onebound.cn/console/?i=Rookie 系统简介: 1. 链接各大热门商 ...

  3. WordPress搭建“外贸独立站”完整操作教程

    以往的文章,我们介绍了很多种搭建独立站的方式,有最省事的Shopify .最专业的Magento以及最省钱的Wordpress Woocommerce.其中,通过主机托管的方式又分了免费的谷歌云vps ...

  4. 跨境电商如何搭建独立站?

    商品的流通推动经济的发展,近些年来国家致力发展跨境电商,国家为何致力发展跨境电商呢?那是因为要建立一种全新的消费观念,跨境电商利润高,与国内消费观念不同,国外消费者对于价格敏感度较低,赚的是汇率差,利 ...

  5. 2021 年广东省职业院校技能大赛(中职组) 网络搭建与应用赛项国赛遴选赛卷(B)

    2021 年广东省职业院校技能大赛(中职组) 网络搭建与应用赛项国赛遴选赛卷(B) 技能要求 (总分 1000 分) 竞赛说明 一.竞赛内容分布 "网络搭建与应用"竞赛共分三个部分 ...

  6. Nginx 上搭建PHP站 更改目录出现的错误:File not found、403 forbidden (13: Permission denied)

    Nginx 上搭建PHP站 更改目录出现的错误:File not found.403 forbidden (13: Permission denied) 第一次用nginx搭建php站,安装的是cen ...

  7. 本地搭建靶站进行漏洞复现和防御(SQL注入、文件上传、XSS漏洞的多种形式)

    目录 注册登录模块 源码 测试 源码加固 文件上传模块 源码 测试 源码加固 发布动态模块 源码 测试 源码加固 本地搭建靶站进行测试,旨在提高自己的开发能力以及对漏洞的理解. 源码:利用PHP开发具 ...

  8. 2021年全国职业院校技能大赛网络搭建与应用赛项——国赛组播题

    2021年全国职业院校技能大赛网络搭建与应用赛项--国赛组播题 sw1:# ip pim multicast-routing (开启组播模式,在全局模式) int vlan 10 ip pim den ...

  9. 外贸站外推广方式有哪些?外贸推广的几种方式以及效果排行

    在现今互联网时代,外贸网站推广是非常重要的一环. 因为外贸网站的推广能够帮助外贸企业快速提升知名度,拓展市场,实现销售提升. 那么,外贸站外推广方式有哪些呢? 首先,谷歌SEO是必不可少的. 外贸网站 ...

最新文章

  1. 使用阿里云服务器安装docker,并用nginx示例
  2. Cocos Creator快速开通联网服务教程
  3. atlas mysql 数据库同步_atlas+mysql实现主从复制和读写分离(二)
  4. 【OpenCV】透视变换 Perspective Transformation(续)
  5. hadoop学习记录
  6. 送给“苦逼”的IT人系列1:IT人的“钱”景以及收入的两道坎
  7. (19)System Verilog利用clocking块产生输入信号延迟激励
  8. ubuntu12.04中安装SVN记录
  9. java显示参数,Java中的隐式参数和显示参数实例详解
  10. Python笔记:re模块详解
  11. Java程序设计 北京大学 2019冬期末测验
  12. 编程网站:21 个学习网站推荐给你,大部分编程语言都在这里了
  13. beautifulsoup+requests链家(深圳)爬取及可视化分析
  14. Shiro介绍(四):定义自己的安全域Realm
  15. 如何做好互联网广告销售
  16. 【Python】计算任意位数的圆周率π(Machin Formula)
  17. FAR PASCAL 的解释
  18. 聊聊身边的嵌入式,自拍神器自拍杆
  19. 计算机网络DV和LS
  20. c语言编程培训心得体会,编程培训个人心得体会 编程学习心得

热门文章

  1. #9733;平衡法则在生活中的应用
  2. Dijkstra算法讲解(通过边实现松弛)
  3. 第四十二篇:Flink面试方案设计篇
  4. 服务器:php-fpm线程卡死导致网站无响应
  5. 基于python的在线音乐系统设计与实现
  6. java 验证手机号_Java使用正则表达式验证手机号和电话号码的方法
  7. 银行卡正则,验证银行卡是否有效
  8. Redis 缓存穿透、击穿、雪崩现象及解决方案
  9. 80老翁谈人生(249):律师想干什么?
  10. 怎么起用计算机无线开关,笔记本电脑无线网卡,教您如何打开电脑无线网卡开关...