ecshop解决方案.docx
《ecshop解决方案.docx》由会员分享,可在线阅读,更多相关《ecshop解决方案.docx(10页珍藏版)》请在冰豆网上搜索。
![ecshop解决方案.docx](https://file1.bdocx.com/fileroot1/2022-10/9/cdd40f47-35dd-4db8-a91f-5c3371827ffa/cdd40f47-35dd-4db8-a91f-5c3371827ffa1.gif)
ecshop解决方案
ecshop,解决方案
篇一:
ecshop开发-多货币解决方案
多货币解决方案
要在后台清除缓存才行
1.在数据库里的表ecs_shop_config插入
INSERTINTO`ecs_shop_config`(
`id`,
`parent_id`,
`code`,
`type`,
`store_range`,
`store_dir`,
`value`,
`sort_order`
)
VALUES(
NULL,'1','rate','text','','','1,,,,','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_下添加
$_LANG['cfg_name']['rate']='货币汇率';
$_LANG['cfg_name']['ybprice_format']='英镑格式';
$_LANG['cfg_name']['aprice_format']='欧元格式';
$_LANG['cfg_name']['cprice_format']='人民币格式';
$_LANG['cfg_name']['aoprice_format']='澳元格式';
如图
并且添加下面的帮助信息
$_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_的合适位置添加
美元人民币欧元英镑澳元
4.在/includes/最后面添加
//路径处理
$url_this="http:
//".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."?
id=".@$_GET['id'];$smarty->assign("url_head",$url_this);
$currency=@$_GET['currency'];
if($currency!
=""){
$_SESSION['currency']=$currency;
}
if($_SESSION['currency']=='')
{
$_SESSION['currency']='USD';
}
5.在/includes/lib_找到这个函数
price_format
并且按下面的进行修改
/**
*格式化商品价格
*
*@accesspublic
*@paramfloat$price商品价格
*@returnstring
*/
functionprice_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'])
{
case0:
$price=number_format($price,2,'.','');
break;
case1:
//保留不为0的尾数
$price=preg_replace('/(.*)(\\.)([0-9]*?
)0+$/',number_format($price,2,'.',''));
if(substr($price,-1)=='.')'\1\2\3',
{
$price=substr($price,0,-1);
}
break;
case2:
//不四舍五入,保留1位
$price=substr(number_format($price,2,'.',''),0,-1);break;
case3:
//直接取整
$price=intval($price);
break;
case4:
//四舍五入,保留1位
$price=number_format($price,1,'.','');
break;
case5:
//先四舍五入,不保留小数
$price=round($price);
break;
}
}
else
{
$price=number_format($price,2,'.','');
}
switch($currency)
{
case'USD':
returnsprintf($GLOBALS['_CFG']['currency_format'],$price);break;
case'CNY':
returnsprintf($GLOBALS['_CFG']['cprice_format'],$price);break;
case'EUR':
returnsprintf($GLOBALS['_CFG']['aprice_format'],$price);break;
case'GBP':
returnsprintf($GLOBALS['_CFG']['ybprice_format'],$price);break;
case'AUD':
returnsprintf($GLOBALS['_CFG']['aoprice_format'],$price);break;
}
}
篇二:
ECSHOP设计方案
ECSHOP管理中心设计方案
1.设计概要
1.为了提高代码的重用性,每一个功能模块都在一个文件中完成。
使用act参数来传递
用途
2.管理员登录
登录
1.登录界面增加CAPTCHA图片2.允许保存登录信息
起始页
留言:
商品统计信息:
系统信息:
备注:
3.获取gd版本的部分可以抽象为一个函数。
返回值建议为0,1,2。
分别表示不支持,
GD1,GD2。
4.当没有留言的时候不输出留言的列表框。
点击留言的标题查看留言的详细内容。
留言
当管理员有未阅读的留言式提示使用javascript提醒。
未读留言确定条件:
receiverid=useridandreaded=0anddeleted=0。
管理中心的每一个页面都包含如下的代码:
在?
act=js中检查是否存在未读留言,如果有则写出一个浮动的层。
反之不做处理。
功能概述
实现管理中心用户间相互发送留言1.能显示用户未阅读的留言2.列出用户所有收到的留言3.列出用户所发留言
数据表设计
表message
发送留言
1.留言表单需要填写内容
1)接收用户,列表框选择管理员(可选择多个管理员)2)留言标题
3)留言内容2.前台验证内容3.接收用户不能为空
4)留言标题不能为空5)标题不能超过50
备注:
6)在message表中插入一条记录。
发送日期为当前时间,
readdate,read,deleted字段采用默认值0。
7)接收方为多用户时,需对应插入多条记录。
留言列表
显示用户收到的所有未删除的留言。
列表内容:
1.2.3.4.5.6.
标题
留言发送者发送日期
阅读日期(日期为0时显示为未读)操作,包括查看删除
增加未读留言/全部留言过滤表单
备注:
1)从message数据表查出receiverid=用户id且receiverid!
=
senderid且deleted=0的记录按发送时间降序排列。
2)查看某条记录时,如果readed=0,则将该记录readed设置为1且
readdate更新为当前时间
3)查看时跳转到另一个页面,显示发件人,留言标题,留言内容,阅读日期,及删除,
回复,下一条留言等按钮
4)删除记录时将记录的deleted设置为1,不做物理删除。
留言追踪
显示当前