指导老师:黄华
毕业学校:清远职业技术学院
ECShop简介
是Comsenz公司推出的一款B2C独立网店系统,现已出售给ShopEX的开发商上海商派网络科技有限公司。适合企业及个人快速构建个性化网上商店。系统是基于PHP语言及MYSQL数据库构架开发的跨平台开源程序。
ECShop悉心听取每一位商家的需求与建议,不仅设计了人性化的网店管理系统帮助商家快速上手,还根据中国人的购物习惯改进了购物流程,实现更好的用户购物体验。
经过近两年的发展,ECShop网店系统无论在产品功能、稳定性、执行效率、负载能力、安全性和SEO支持(搜索引擎优化)等方面都居国内同类产品领先地位,成为国内最流行的购物系统之一。
ECShop功能介绍
1. 灵活的模版机制
ECShop开发了独有的高效模板引擎(2.15以前版本使用smarty模板引擎),并结合了Dreamweaver的模板和库功能,使得编辑制作模板变得更简单。
2. 开放的插件机制
支付、配送,会员整合都是以插件形式实现。商家可以随时增加或变更的支付方式和配送体系。ecshop支持大部分php开发的论坛系统,包括discuz,phpwind 等,只需在后台做简单参数配置,即可完成会员整合。
3. 功能 AJAX 化
ECSHOP 使用目前流行的 AJAX 技术,批量数据编辑变得更迅速,方便。
4. 促销功能
ECSHOP提供了积分、红包、赠品,夺宝奇兵等多种促销方法。
5. 高效率的代码和执行性能
通过优化代码与数据库结构,配合ecshop独家设计的缓存机制,在不考虑网速的情况下,网店动态页面与纯静态页面访问速度相当。
6. 常规功能的更完善实现
针对常规功能尤其是后台管理和购物流程,ECShop进行了更简洁的设计,实现更好的用户体验。
7. 搜索引擎优化
在 SEO (搜索引擎优化)上,ECShop独家支持两种 URL 重写方式,并且是同类软件中第一家支持 google/ yahoo / microsoft 三家共同发布的 sitemaps 0.9 网站索引规范,能够为站点被搜索引擎收录做到最大限度的支持和帮助。
8. 内置手机短信网关
ECShop内置手机短信网关,支持会员信息群发,订单提醒等功能。
9. 多语言支持
支持简体,繁体,英文。
10. 源代码开放
用户可根据自己的需求对ECSHOP进行定制,扩展。
目录:
1、ECSHPF版权与标志-前后台 (8)
1.1前台标志的修改 (8)
1.2界面友情连接的删除 (8)
1.3去掉底部的Powered by ecshop 270标志 (8)
2、ECSHOP后台为订单增加备注功能 (9)
2.1添加表:ecs_order_note. (9)
2.2.添加语言包--languages\zh_cn\admin\order.php (9)
2.3修改admin/order.php文件,添加代码 (9)
2.4添加所需代码 (10)
2.5修改admin\templates\order_info.htm文件 (10)
3、将订单状态设为等待客服确认 (10)
3.1将订单状态修改为等待客服确认 (10)
3.2使付款后订单状态为等待客服确认 (11)
3.3修改后台订单状态为等待客服确认 (11)
3.4修改后台订单表语言包 (11)
3.5修改用户订单表语言包 (12)
4、自定义商品扩展名功能 (12)
4.1执行SQL语句 (12)
4.2添加商品扩展名 (12)
4.3商品信息页添加商品扩展名 (12)
4.4修改语言包 (13)
4.5修改商品添加文件 (13)
4.6修改商品显示文件 (13)
4.7在前台商品页显示商品名称扩展 (13)
4.8修改商品栏目页显示文件 (13)
4.9在分类列表页显示商品名称扩展 (14)
5、多货币解决方案 (14)
5.1执行SQL语句 (14)
5.2修改多货币语言包 (14)
5.3修改头部模版文件 (15)
5.4加载页面session值 (15)
5.5格式化商品价格 (15)
5.6在订单列表中添加货币信息,执行SQL语句 (16)
.
5.7添加购物时的货币信息 (17)
5.8后台订单显示货币类型和相应额度 (17)
5.9输出货币类型和额度 (17)
6、使用Ajax更新商品页商品购买数量 (18)
6.1添加js代码 (18)
6.2更改以下内容 (18)
7、使用Ajax更新购物车商品购买数量 (18)
7.1修改模版文件夹下的flow.dwt文件 (18)
7.2代码的修改 (19)
7.3改根目录下的flow.php文件 (20)
8、商品展示放大镜效果 (21)
8.1载入样式和脚本切换到当前使用的模板目录中 (21)
8.2执行SQL语句 (21)
8.3添加底部相册切换功能 (21)
8.4缩略图的配置 (22)
8.5如何获得指定商品的相册缩略图 (23)
9、商品展示放大镜效果 (24)
9.1函数的编写与替换 (24)
9.2添加一个js函数,用以颜色的选择 (24)
9.3获取表单传过来的颜色代码值 (25)
10、产品组合功能开发 (26)
10.1修改根目录 (26)
10.2修改模版目录 (27)
11、限时购功能开发 (28)
11.1修改程序 (28)
11.2代码替换 (28)
12、秒杀功能开发 (29)
12.1执行sql语句 (29)
12.2代码的添加修改与替换 (29)
1、ECSHPF版权与标志-前后台
一、前台标志的修改
因为是借助了dede的模板进行二次开发,当然首先是要对模板进行编辑,模板一开始是没有那么全面的,排版也计较随意大体,内容也没有,显得比较空洞,当然了,这些都是我们去排版和编辑内容的,首先呢,最重要的是dede模板标志和lougou的删除和修改了,标志有很多,前台后台都有,我们要注意,细心观察,把他改成自己要设计的内容和风格,虽然说是拿来主义,但是拿来了就要会利用,所以一下的修改的方法:
前台部分:
去掉头部TITLE部分的ECSHOP演示站Powered by ecshop
前者在后台商店设置- 商店标题修改
后者打开includes/lib_main.php
$page_title = $GLOBALS['_CFG']['shop_title'] . ' - ' . 'Powered by ECShop';
修改这里的'Powered by ECShop
二、界面友情连接的删除
去掉友情链接部分
在后台的友情链接管理里修改
三、去掉底部的Powered by ecshop 270 ,和部分标志
打开js/common.js
删除第244行
onload = function(){
var link_arr = document.getElementsByTagName(String.fromCharCode(65));
var link_str;
var link_text;
var regg, cc;
var rmd, rmd_s, rmd_e, link_eorr = 0;
var e = new Array(97, 98, 99,
100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
120, 121, 122);
再打开模板文件夹的library/page_footer.lbi
删除{foreach from=$lang.p_y item=pv}{$pv}{/foreach}{$licensed}
很多页面源代码的头部信息中会自动产生一行代码
应该也算是ECSHOP预留的版权信息吧,下面讲一下怎么删除这行代码,让系统不再自动产生。
打开includes/cls_template.php 文件,大概在1087行左右,找到
$source = preg_replace('/
/i', "\r\n", $source);将之删除或者注释掉即可。
后台部分:1.去除两张图片
admin/images/ecshop_logo.gif
admin/images/login.png
删除右上角的“关于ECSHOP”
打开admin/templates/top.htm
删除:
打开language/zh_cn/admin/common.php
$_LANG['cp_home'] = 'ECSHOP 管理中心';
$_LANG['copyright'] = '版权所有© 2005-2009 上海商派网络科技有限公司,并保留所有权利。';
2、ECSHOP后台为订单增加备注功能
一、添加表:ecs_order_note;
CREATE TABLE IF NOT EXISTS `ecs_order_note` (
`note_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`order_id` mediumint(8) unsigned NOT NULL,
`note_value` text NOT NULL,
PRIMARY KEY (`note_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
二、添加语言包--languages\zh_cn\admin\order.php
/* 订单备注*/
$_LANG['label_order_note'] = '客服人员订单备注:';
三、修改admin/order.php文件第103行,添加代码:
/*------------------------------------------------------ */
//-- 保存订单备注
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'save_ordernote'){
$oid = $_REQUEST['oid'];
$oval = $_REQUEST['noteVal'];
$sql = "select count(note_value) from " . $ecs->table('order_note') .
" where order_id = $oid";
$note_count = $db->getOne($sql);
if ($note_count == 0){
$sql = "insert into " . $ecs->table('order_note') .
"(order_id,note_value) values(" . $oid . ",'" . $oval . "')";
} else{
$sql = "update " . $ecs->table('order_note') . " set note_value = '" . $oval .
"' where order_id = " . $oid;}
$db->query($sql);
//echo "订单备注已保存!"}
四、添加所需代码
在以下代码下加入
/* 取得能执行的操作列表*/
$operable_list = operable_list($order);
$smarty->assign('operable_list', $operable_list);
/* 取得订单备注-- */
$sql = "SELECT note_value FROM " . $ecs->table('order_note') .
" WHERE order_id = '$order[order_id]'";
$order_note = $db->getOne($sql);
$smarty->assign('order_note', $order_note);
五、修改admin\templates\order_info.htm文件,
在上面代码后面加入以下代码:
在本文件admin\templates\order_info.htm的JS代码中加入下面内容
/**
* 保存订单备注
*/
function saveOrderNote(oid,parm){
var noteVal = parm.value;
Ajax.call('order.php?is_ajax=1&act=save_ordernote&oid='+oid+'¬eVal='+noteVal,'', saveOrderResponse, 'POST', '');}
function saveOrderResponse(result){
//alert(result);}
删除订单时删除关联的订单备注admin/order.php
3、将订单状态设为等待客服确认
一、将订单状态修改为等待客服确认
/includes/lib_payment.php ,以下
/* 修改订单状态为已付款*/
$sql = 'UPDATE ' . $GLOBALS['ecs']->table('order_info') .
" SET order_status = '" . OS_CONFIRMED . "', " .
" confirm_time = '" . gmtime() . "', " .
" pay_status = '$pay_status', " .
" pay_time = '".gmtime()."', " .
" money_paid = order_amount," .
" order_amount = 0 ".
"WHERE order_id = '$order_id'";
$GLOBALS['db']->query($sql);
/* 记录订单操作记录*/
order_action($order_sn, OS_CONFIRMED, SS_UNSHIPPED, $pay_status, $note, $GLOBALS['_LANG']['buyer']);
修改为:
/* 修改订单状态为已付款*/
$sql = 'UPDATE ' . $GLOBALS['ecs']->table('order_info') .
" SET order_status = '" . OS_UNCONFIRMED . "', " .
" confirm_time = '" . gmtime() . "', " .
" pay_status = '$pay_status', " .
" pay_time = '".gmtime()."', " .
" money_paid = order_amount," .
" order_amount = 0 ".
"WHERE order_id = '$order_id'";
$GLOBALS['db']->query($sql);
/* 记录订单操作记录*/
order_action($order_sn, OS_UNCONFIRMED, SS_UNSHIPPED, $pay_status, $note, $GLOBALS['_LANG']['buyer']);
二、使付款后订单状态为等待客服确认
/flow.php ,以下
$order['order_status'] = OS_CONFIRMED;
修改为
$order['order_status'] = OS_UNCONFIRMED;
三、修改后台订单状态为等待客服确认
/Admin/ order.php ,以下代码
order_action($order['order_sn'],OS_CONFIRMED,SS_UNSHIPPED,PS_UNPAYED,
$action_note);
修改为
order_action($order['order_sn'],OS_CONFIRMED,SS_UNSHIPPED, $order['pay_status'], $action_note);
一共有三处,只需修改“批处理订单”和“操作订单状态(处理提交)”,不修改“todo 处理退款”
四、修改后台订单表语言包
/languages/zh_cn/admin/order.php,以下代码
$_LANG['os'][OS_ UNCONFIRMED] = '未确认';
修改为:
$_LANG['os'][OS_UNCONFIRMED] = '等待客服确认';
五、修改用户订单表语言包
/languages/zh_cn/ user.php
$_LANG['os'][OS_ UNCONFIRMED] = '未确认';
修改为:
$_LANG['os'][OS_UNCONFIRMED] = '等待客服确认';
4、自定义商品扩展名功能
一、执行SQL语句。
在phpmyadmin下选择ecshop数据库,执行以下语句,在ecs_goods表中增加商品扩展名字ALTER TABLE `ecs_goods` ADD `goods_name_extends` V ARCHAR( 80 ) NOT NULL AFTER `goods_name`
二、添加商品扩展名
/admin/templates/goods_list.htm ,以下代码
">{$lang.goods_name}{$sort_goods_name}
后面添加:
以下代码
后面添加
三、商品信息页添加商品扩展名
/admin/templates/goods_info.htm ,以下代码
{html_options options=$lang.font_styles selected=$goods_name_style}
{$lang.require_field}
后面添加
四、修改语言包
/languages/zh_cn/admin/goods.php ,以下代码
$_LANG['goods_name'] = '商品名称';
后面添加
$_LANG['goods_name_extends'] = '商品扩展名称';
以下代码
$_LANG['lab_goods_name'] = '商品名称:';
后面添加
$_LANG['lab_goods_name_extends'] = '商品扩展名称:';
五、修改商品添加文件
/admin/goods.php ,以下代码
$sql = "INSERT INTO " . $ecs->table('goods') . " (goods_name,
修改为(共两处)
$sql = "INSERT INTO " . $ecs->table('goods') . " (goods_name, goods_name_extends, 以下代码
"V ALUES ('$_POST[goods_name]','
修改为(共两处)
"V ALUES ('$_POST[goods_name]','$_POST[goods_name_extends]',
以下代码
$sql = "UPDATE " . $ecs->table('goods') . " SET " .
"goods_name = '$_POST[goods_name]', " .
后面添加
"goods_name_extends = '$_POST[goods_name_extends]', " .
六、修改商品显示文件
/admin/includes/lib_goods.php ,以下代码
$sql = "SELECT goods_id, goods_name,
修改为
$sql = "SELECT goods_id, goods_name, goods_name_extends ,
七、在前台商品页显示商品名称扩展
在当前使用的模版文件夹下的goods.dwt ,以下代码
{$goods.goods_style_name}
后面添加
{$goods.goods_name_extends}
八、修改商品栏目页显示文件
/catagory.php ,以下代码
/* 获得商品列表*/
$sql = 'SELECT g.goods_id, g.goods_name,
后面添加
g.goods_name_extends,
以下代码
$arr[$row['goods_id']]['goods_brief'] = $row['goods_brief'];
后面添加
$arr[$row['goods_id']]['goods_name_extends'] = $row['goods_name_extends'];
九、在分类列表页显示商品名称扩展
在当前使用的模版文件夹下的library/goods_list.lbi ,以下代码
{$goods.watermark_img}
修改为{$goods.watermark_img}
{$goods.goods_style_name} {$goods.goods_name_extends}
5、多货币解决方案
一、执行SQL语句
在phpmyadmin下选择ecshop数据库,执行以下语句,在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');
二、修改多货币语言包
/languages/zh_cn/admin/shop_config.php ,添加以下语句
$_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,EUR,BritishPound,China,Austrilian';
$_LANG['cfg_desc']['ybprice_format'] = '显示英镑格式,%s将被替换为相应的价格';
$_LANG['cfg_desc']['aprice_format'] = '显示欧元格式,%s将被替换为相应的价格';
$_LANG['cfg_desc']['cprice_format'] = '显示人民币格式,%s将被替换为相应的价格';
$_LANG['cfg_desc']['aoprice_format'] = '显示澳元格式,%s将被替换为相应的价格';
三、修改头部模版文件
当前使用模版目录下的library/page_header.lbi ,以下代码
后面添加
四、加载页面session值
/include/init.php 页面尾端添加
$url_this="http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."?id=".@$_GET['id']; //echo $url_this;
$smarty->assign("url_head",$url_this);
$currency=@$_GET['currency'];
if ($currency!=""){
$_SESSION['currency']=$currency;}
if ($_SESSION['currency']==''){
$_SESSION['currency']='USD';}
五、格式化商品价格
/includes/lib_common.php,在文档后面添加以下代码
/**
* 格式化商品价格
*
* @access public
* @param float $price 商品价格
* @return string
*/
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: // 直接取整
else{
$price = number_format($price, 2, '.', '');}
switch($currency){
case 'USD':
return sprintf($GLOBALS['_CFG']['currency_format'], $price);
break;
case 'EUR':
return sprintf($GLOBALS['_CFG']['aprice_format'], $price)
六、在订单列表中添加货币信息
执行SQL语句
ALTER TABLE `ecs_order_info` ADD `currency` V ARCHAR( 10 ) NOT NULL ,
ADD `new_money` DECIMAL( 10, 2 ) NOT NULL
添加购物时的货币信息,/flow.php 在以下代码
//分成功能关闭
$parent_id = 0;}
$order['parent_id'] = $parent_id;
后添加
$order['currency']=$_SESSION['currency'];
$order['new_money']=price_format_hs($order['order_amount']);
增加购物时的支付换算/includes/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']);
$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, 2, '.', '');}
return $price;}
七、修改多货币支持的贝宝插件
/includes/modules/payment/paypal.php
function get_code($order, $payment)
{
$paypal_currency = $_SESSION["currency"]; //获取当前货币类型的Session值
$data_order_id = $order['log_id'];
//$data_amount = $order['order_amount'];
$data_amount = $order['new_money']; //将上行内容改成new_money
$data_return_url = return_url(basename(__FILE__, '.php'));
$data_pay_account = $payment['paypal_account'];
//$currency_code = $payment['paypal_currency'];
$currency_code = $paypal_currency; //将上行内容修改
八、后台订单显示货币类型和相应额度
/admin/templates/order_list.htm ,以下代码
后面添加
以下代码
后面添加
九、输出货币类型和额度
/admin/order.php ,以下代码
/* 查询*/
$sql = "SELECT o.order_id, o.order_sn,
修改为:
/* 查询*/
$sql = "SELECT o.order_id, o.order_sn, o.currency,o.new_money,
以下代码
function order_list(){
后面添加
$_SESSION["currency"] = 'USD';
6、使用Ajax更新商品页商品购买数量
sub_one.jpg和add_one.jpg和拷贝到模板目录下的images目录里
一、修改模版文件夹下的goods.dwt文件
添加js代码
在function changePrice(){
var attr = getSelectedAttributes(document.forms['ECS_FORMBUY']);
var qty = document.forms['ECS_FORMBUY'].elements['number'].value;
Ajax.call('goods.php', 'act=price&id=' + goodsId + '&attr=' + attr + '&number=' + qty, changePriceResponse, 'GET', 'JSON'); }
后面加入以下内容
function changePriceNum($m){
var attr = getSelectedAttributes(document.forms['ECS_FORMBUY']);
var qty = document.forms['ECS_FORMBUY'].elements['number'].value;
if (isNaN(qty)){
qty = 1;
alert("商品数量必须输入数字"); }
if($m == '+'){
qty++}else if(qty > 1 && $m == '-'){
qty--}else{
qty = 1;
return false;}
Ajax.call('goods.php', 'act=price&id=' + goodsId + '&attr=' + attr + '&number=' + qty, changePriceResponse, 'GET', 'JSON');}
二、代码的更改
为如下所示:
7、使用Ajax更新购物车商品购买数量
js文件拷贝到模板目录下的js目录里
一、修改模版文件夹下的flow.dwt文件
1、添加js代码
后面加入以下内容/*
var $oldValues =new Array();
var changeNum = function($m,$gid){
//alert($gid);
var $num = $("#num_"+$gid);
var $val = parseInt($num.val());
if (isNaN($val)){
$val = 1;
alert("商品数量必须输入数字"); }
$oldValues['old'+$gid] = $val;
if($m == '+'){
$val++
$num.val($val);
}else if($val > 1 && $m == '-'){
$val--
$num.val($val);}else{
$num.val(1);
return false;}
$num.change();}
var updateCount = function($e,$gid){
//alert('update goods[ID:'+$gid+']');
var $count = parseInt($("#num_"+$gid).val());
if (isNaN($count)){
$count = 1;
二、几处代码的更改有以下内容
{$goods.goods_number}
为如下所示:
{$goods.goods_number}
a更改以下内容
为如下所示:
为如下所示:
三、修改根录下的flow.php文件
1、加入以下内容
/*------------------------------------------------------ */
//-- INPUT
/*------------------------------------------------------ */
if (!isset($_REQUEST['step'])){
$_REQUEST['step'] = "cart";}
else if($_REQUEST['step'] == 'update_count'){
flow_update_cart(array($_POST['rec_id']=>$_POST['chang_to']),true);
echo json_encode(array('message' => $_LANG['update_cart_notice']));
exit;}
2、修改flow_update_cart函数
/**
* 更新购物车中的商品数量
*
* @access public
* @param array $arr
* @return void
*/
function flow_update_cart($arr , $isAjax = false){
foreach ($arr AS $key => $val){
$val = intval(make_semiangle($val));
if ($val <= 0){
continue;}
$sql = "SELECT `goods_id`, `goods_attr_id`, `extension_code` FROM" .$GLOBALS['ecs']->table('cart').
" WHERE rec_id='$key' AND session_id='" . SESS_ID . "'";
show_message(sprintf($GLOBALS['_LANG']['stock_insufficiency'], $row['goods_name'], $row['goods_number'], $row['goods_number']));}
exit; }
}
elseif (intval($GLOBALS['_CFG']['use_storage']) > 0 && $goods['extension_code'] == 'package_buy') {
if (judge_package_stock($goods['goods_id'], $val)){
show_message($GLOBALS['_LANG']['package_stock_insufficiency']);
exit;}
ECSHOP 模板结构说明(适用版本v2.1.5+) 名称类型备注(作用或意义)文件(目录)名可否更改images 目录存放模板图片目录不可更改 library 目录存放模板库文件目录不可更改 screenshot.png 图片用于“后台管理-> 模板管理-> 模板选择”显示 模板缩略图。 不可更改 style.css css样式表不可更改 备注:模板文件共32个(格式:.dwt)。 提醒: 1, 更改模板文件里面库文件的内容是无效的,页面刷新时,程序自动重新载入库文件内容到模板文件里(以库文件内容为准)。 2, 模板内所有id值为ECS_ 开头的都必须保留(和ajax相关)。 3, 非库文件内容不可放置到可编辑区域内,否则设置模板时,非库文件内容将被覆盖删除。 activity.dwt 模板文件活动列表页不可更改 article.dwt 模板文件文章内容页不可更改 article_cat.dwt 模板文件文章列表页不可更改 article_pro.dwt 模板文件文章内容页(如免责声明等) 不可更改 auction.dwt 模板文件拍卖商品详情页不可更改 auction_list.dwt 模板文件拍卖商品页不可更改 brand.dwt 模板文件商品品牌页不可更改 brand_list.dwt 模板文件商品品牌列表页不可更改 catalog.dwt 模板文件所有分类页不可更改 category.dwt 模板文件商品列表页不可更改 compare.dwt 模板文件商品比较页不可更改 flow.dwt 模板文件购物车和购物流程页不可更改 gallery.dwt 模板文件商品相册页不可更改 goods.dwt 模板文件商品详情页不可更改 group_buy_goods.dwt 模板文件团购商品详情页不可更改 group_buy_list.dwt 模板文件团购商品列表页不可更改 index.dwt 模板文件首页不可更改message.dwt 模板文件信息提示页不可更改 message_board.dwt 模板文件留言板页不可更改 myship.dwt 模板文件我的配送页不可更改
Ecshop数据库表说明 ECSHOP开发中心(https://www.sodocs.net/doc/0114916335.html,) 数据库结构说明,以及自己在后台备份不需要备份的表(红色字体是不需要备份的表)数据库采用mysql,共78张表 ecs_account_log:账户变动日志(注册用户充值、支付等记录信息) ecs_ad:广告表 ecs_admin_action:管理员权限表(定义了128项功能操作) ecs_admin_log:管理员操作日志表 ecs_admin_message:管理员留言表 ecs_admin_user:系统管理员表 ecs_adsense:站外JS投放 ecs_ad_position:广告位置表 ecs_affiliate_log:分成记录表 ecs_agency:办事处列表 ecs_area_region:区域范围表(如配送区域等) ecs_article:文章表 ecs_article_cat:文章分类表 ecs_attribute:各类商品扩展属性管理表 ecs_auction_log:拍卖活动出价记录表 ecs_auto_manage:自动上下架管理 ecs_bonus_type:红包类型 ecs_booking_goods:缺货登记 ecs_brand:商品品牌表 ecs_card:祝福贺卡表 ecs_cart:购物车 ecs_category:商品分类表 ecs_cat_recommend:首页推荐商品分类 ecs_collect_goods:用户商品收藏表
ecs_comment:用户评论表 ecs_crons:计划任务 ecs_email_list:邮件订阅表 ecs_email_sendlist:待发送邮件列表 ecs_error_log:错误日志 ecs_exchange_goods:积分商城商品表 ecs_favourable_activity:优惠活动表 ecs_feedback:用户留言表 ecs_friend_link:友情连接表 ecs_goods:商品表 ecs_goods_activity:参加活动商品表(如夺宝奇兵、团购、拍卖、礼包)ecs_goods_article:商品关联文章 ecs_goods_attr:商品对应的扩展属性表 ecs_goods_cat:商品扩展分类表 ecs_goods_gallery:商品对应的图片列表 ecs_goods_type:网站所有的商品类型(如化妆品) ecs_group_goods:配件商品 ecs_keywords:网站搜索关键字表 ecs_link_goods:相关商品 ecs_mail_templates:发送邮件的模板表 ecs_member_price:商品会员价格表 ecs_nav:导航栏目设置 ecs_order_action:订单操作表 ecs_order_goods:订单商品表 ecs_order_info:订单信息表 ecs_pack:商品包装 ecs_package_goods:礼包关联商品表 ecs_payment:支付方式表 ecs_pay_log:付费日志 ecs_plugins:插件 ecs_region:全国地区表 ecs_searchengine:搜索引擎 ecs_sessions:网站用户session表
Ecshop常见问题汇总 ECSHOP开发中心(https://www.sodocs.net/doc/0114916335.html,) 1、如何修改网站"欢迎光临本店" 回答(1) languages\zh_cn\common.php文件中,$_LANG['welcome'] = '欢迎光临本店';将他修改成你需要的字样。 还有member_info.lbi里面的welcome字样。 回答(2) 打开网站后台-模板选择-语言项编辑选择公共语言包-搜索“欢迎”进行修改 2、如何修改登录\注册字体的颜色 在库文件member_info.lbi 中修改 3、如何修改首页"热门搜索关键字" 后台-系统设置-网店设置-显示设置-首页搜索关键字,修改他的内容,然后保存,必须是英文半角字符隔开 4、如何修改首页标题"Powered by ECShop" includes/lib_main.php,找到$page_title = $GLOBALS['_CFG']['shop_title'] . ' - ' . 'Powered by ECShop';修改成$page_title = $GLOBALS['_CFG']['shop_title']就可以了。 5、如何发布首页公告 后台->系统设置->商店设置->网店信息->商店公告. 6、如何修改网站logo 用你的logo图片替换/themes/当前使用模板/images/logo.gif (以你当前logo图的名称为准) 7、如何去除ecshop产品详细页产品点击率 模板文件中,打开goods.dwt,删除{$lang.goods_click_count}: {$goods.click_count}
所有函数功能说明: lib_time.php gmtime() P: 获得当前格林威治时间的时间戳/$0 server_timezone() P: 获得服务器的时区/$0 local_mktime($hour = NULL , $minute= NULL, $second = NULL, $month = NULL, $day = NULL, $year = NULL) P: 生成一个用户自定义时区日期的GMT时间戳 local_date($format, $time = NULL) P: 将GMT时间戳格式化为用户自定义时区日期 gmstr2time($str) P: 转换字符串形式的时间表达式为GMT时间戳 local_strtotime($str) P: 将一个用户自定义时区的日期转为GMT时间戳 local_gettime($timestamp = NULL) P: 获得用户所在时区指定的时间戳 local_getdate($timestamp = NULL) P: 获得用户所在时区指定的日期和时间信息
lib_base.php sub_str($str, $length = 0, $append = true) P: 截取UTF-8编码下字符串的函数 real_ip() P: 获得用户的真实IP地址 str_len($str) P: 计算字符串的长度(汉字按照两个字符计算) get_crlf() P: 获得用户操作系统的换行符 send_mail($name, $email, $subject, $content, $type = 0, $notification=false) P: 邮件发送 gd_version() P: 获得服务器上的GD 版本 file_get_contents($file) P: 如果系统不存在file_get_contents函数则声明该函数 file_put_contents($file, $data, $flags = ”) P: 如果系统不存在file_put_contents函数则声明该函数 floatval($n) P: 如果系统不存在floatval 函数则声明该函数 file_mode_info($file_path) P: 文件或目录权限检查函数 log_write($arg, $fi le = ”, $line = ”) P: 写入日志内容 make_dir($folder) P: 检查目标文件夹是否存在,如果不存在则自动创建该目录 gzip_enabled() P: 获得系统是否启用了gzip addslashes_deep($value) P: 递归方式的对变量中的特殊字符进行转义
ECSHOP各文件夹功能说明 1、根目录:前台程序文件 2、admin:后台程序文件夹 --根目录:后台程序文件*.php文件 --help\zh_cn:各功能的帮助文件*.xml文件 --images:后台页面用图片 --includes:后台公用文件和函数 --js:后台用js脚本 --styles:后台用样式表 --templates:后台页面模板*.htm文件 3、api:调用API的系统公用函数 4、cert:存放证书的文件夹 5、data:数据连接设置等,包括各种广告的上传图片等 --afficheimg:首页flash广告图片 --brandlogo:品牌logo 6、images:上传商品图片文件夹,按日期分目录 --200902:按月份划分商品图片 --upload:上传文件夹,包括file、flash、image和media 7、includes:前台公用文件和函数 --codetable:语言对应的代码表 --fckeditor:开源html文本编辑器 --modules\convert:shopex转换文件 --modules\cron:如自动上下架、ip删除等函数 --modules\integrates:整合各种插件和函数基础类 --modules\payment:各种支付接口插件 --modules\shipping:各种送货方式插件 8、install:系统安装文件夹,用后请删除 9、js:前台用js脚本 --calendar:日历控件 10、languages:语言文件 --zh_cn:简体中文语言文件,存储简体中文下使用的函数变量等--zh_tw:繁体中文语言文件,存储繁体中文下使用的函数变量等 11、temp:存放临时缓存等文件 12、themes:模板文件夹,可以随意拷贝模板样式 13、wap:手机浏览程序
ID表名表用途 1ecs_account_log用户账目日志表 2ecs_ad广告表 3ecs_admin_action管理权限分配 4ecs_admin_log管理日志 5ecs_admin_message管理留言 6ecs_admin_user管理员管理 7ecs_adsense广告统计信息 8ecs_ad_custom自定义广告 9ecs_ad_position广告位信息 10e cs_affiliate_log收入分成的信息 11e cs_agency办事处信息 12e cs_area_region配送区域表 13e cs_article站内文章(包括站内快讯,新手上路,手机常识等) 14e cs_article_cat所有文章的分类 15e cs_attribute商品属性 16e cs_auction_log出价记录表,每个用户的每次出价都会纪录下来 17e cs_auto_manage自动管理,分为文章自动管理和商品自动管理两种 18e cs_back_goods退货商品信息,在订单操作中用得上,比如取消订单 19e cs_back_order退货单信息 20e cs_bonus_type红包类型信息,跟后台管理"促销管理"->"红包类型"对应 21e cs_booking_goods缺货登记 22e cs_brand品牌 23e cs_card贺卡信息 24e cs_cart购物车信息(关键表) 25e cs_category获取商品的分类信息,包括各级别分类(关键表) 26e cs_cat_recommend首页推荐扩展分类(放在首页推荐,比如新品上市,精品推荐,热卖商品) 27e cs_collect_goods收藏商品信息(包含是否被关注字段) 28e cs_comment评论信息 29e cs_crons计划任务信息(后台执行,比如商品和文章的自动管理) 30e cs_delivery_goods发货单商品信息(订单系统使用) 31e cs_delivery_order发货单信息(status字段表示发货单状态,2-未发货,1-取消,0-已经发货) 32e cs_email_list邮件列表信息 33e cs_email_sendlist批量发送列表 34e cs_error_log错误日志(api目录下,源码中记录错误日志的机会比较少) 35e cs_exchange_goods可以用于几分兑换的商品表,跟goods表强关联 36e cs_favourable_activity优惠活动表 37e cs_feedback留言信息表(添加留言,删除留言,更新留言状态为可显示等) 38e cs_friend_link友情链接表 39e cs_goods销售的商品列表,包括商品的各种属性,是系统的核心关键表 40e cs_goods_activity参加活动的商品,ecshop里头主要指针对参与拍卖活动的商品 41e cs_goods_article商品和文章的关联表(主要用于处理商品时,相应处理对应文章) 42e cs_goods_attr 商品属性表,是商品表goods的一个重要补充,某些属性的变化会带来其他属性的化
ESCHOP模板结构详解 ECSHOP模板文件结构说明,一套完整ecshop模板文件说明手册 最新ECSHOP 2.7.3完整的一套ecshop模板有一下构造 ? 35个 .dwt文件(模板框架文件。可调用lbi库文件的主体文件) ? 57个 .lbi文件(模板库文件,可通过后台库项目管理直接修改的文件) ? 1个style.css文件(里面包含了模板的样式代码和模板版权信息。) ? 1个screenshot.png文件(用于后台管理显示安装模板。) ecshop模板存放目录名称(themes) 不可更改名称: ECSHOP模板名称:自定义英文名称不能中文名称文件夹名称 images 目录存放模板图片目录不可更改library 目录存放模板库文件目录不可更改 screenshot.png 图片用于“后台管理->模板管 理->模板选择”显示模板 缩略图。不可更改 style.css css样式表不可更改一、模板文件 activity.dwt 活动列表页 article_cat.dwt 文章列表页 article_pro.dwt 系统文章页(如:“用户协议“。) article.dwt 文章内容页 auction_list.dwt 拍卖商品列表页 auction.dwt 拍卖商品详情页 brand.dwt 品牌商品列表页 brand_list.dwt 所有品牌页 catalog.dwt 所有分类、品牌页 category.dwt 商品列表页 compare.dwt 商品比较页 exchange_goods.dwt 积分商城详细页 exchange_list.dwt 积分商城列表页
ECShop 2.7.2版本,数据库表 注: 1、颜色为蓝色的字,是本人所写,有待讨论验证的地方。 2、颜色为红色的字,是新增的字段。(改文档是基于网上下载的老版本的数据字典修改而成,已经检查了所有字段,修改的修改,增加的增加)。 ecs_account_log //用户账目日志表 ecs_ad //广告表(位置,类型,名称,链接,图片,开始,结束,广告主相关信息,点击是否显示) ecs_admin_action //管理权限分配(父类ID,权限代码)(感觉像是规定好的一些
数据,安装的时候就有) ecs_admin_log //管理日志(登陆时间,登陆ID,操作描述,IP) ecs_admin_message //管理留言(发送id,接收id,发送日期,阅读日期,是否已读,是否删除,标题,内容) ecs_admin_user //管理员管理(用户名,email,密码,加入时间,最后登陆时间,最后登陆IP,权限等)
ecs_adsense //广告相关统计(来源广告,来源位置,点击) ecs_ad_custom // ecs_ad_position //广告位(名称,宽,高,描述,样式)
ecs_affiliate_log //(用户推荐的操作日志?) ecs_agency //广告相关统计(来源广告,来源位置,点击) ecs_area_region //配送区域关联(配送区域ID,具体地址ID) ecs_article //文章(分类ID,标题,内容,作者,作者email,关键字, 类型,是否显示,添加时间,文件地址,打开类型)
ECShop 2.7.3版本,数据库表和2.7.3模板目录结构 ecs_account_log //用户账目日志表 ecs_ad //广告表(位置,类型,名称,链接,图片,开始,结束,广告主相关信息,点击是否显示) ecs_admin_action //管理权限分配(父类ID,权限代码)
ecs_admin_log //管理日志(登陆时间,登陆ID,操作描述,IP) ecs_admin_message //管理留言(发送id,接收id,发送日期,阅读日期,是否已读,是否删除,标题,内容) ecs_admin_user //管理员管理(用户名,email,密码,加入时间,最后登陆时间,最后登陆IP,权限等)
ecs_adsense //广告相关统计(来源广告,来源位置,点击) ecs_ad_position //广告位(名称,宽,高,描述,样式) ecs_affiliate_log //没弄清楚 ecs_agency //广告相关统计(来源广告,来源位置,点击)
ecs_area_region //配送区域关联(配送区域ID,具体地址ID) ecs_article //文章(分类ID,标题,内容,作者,作者email,关键字, 类型,是否显示,添加时间,文件地址,打开类型) ecs_article_cat //文章分类(名称,类型,关键字,描述,排序,是否导航显示)
ecs_attribute //商品属性 ecs_auction_log //商品拍卖表 ecs_auto_manage //自动上下架表
ecs_back_goods //退货单中的商品 ecs_back_order //退货单列表
先从index.php主页开始 页面关键字{$keywords} 页面标题{$page_title} 产品分类 父分类列表{foreach from=$categories item=cat} 父分类超链接[url==”{$cat.url}”>{$https://www.sodocs.net/doc/0114916335.html,|escape:html} 相对应子分类{foreach from=$cat.children item=child} 子分类超链接[url==”{$child.url}”>{$https://www.sodocs.net/doc/0114916335.html,|escape:html} 促销产品{if$promotion_info}检验是否存在促销产品,不存在就不显示相关信息促销产品列表{foreach from=$promotion_info item=item key=key} 里面还有很多标签,没弄明白,以后在添加,修改 订单查询{if empty($order_query)}同上看下就知道了 订单用户ID{if$order_https://www.sodocs.net/doc/0114916335.html,er_id} 订单数量{$lang.order_number} 订单编号{$order_query.order_sn} 里面还有很多标签,没弄明白,以后在添加,修改 发货查询{if$invoice_list}当有完成的订单测显示 发货列表{foreach from=$invoice_list item=invoice} 订单号名称{$lang.order_number} 订单号{$invoice.order_sn} 发货单名称{$lang.consignment} 发货单号{$invoice.invoice_no} 销售排行{if$top_goods}看看就知道 销售列表{foreach name=top_goods from=$top_goods item=goods}
ECSHOP数据库结构详细说明(1) 表的结构`ecs_account_log`==用户账目日志表 CREATE TABLE IF NOT EXISTS `ecs_account_log` ( `log_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID号', `user_id` mediumint(8) unsigned NOT NULL COMMENT '用户登录后保存在session中的id号,跟users表中的user_id对应', `user_money` decimal(10,2) NOT NULL COMMENT '用户该笔记录的余额', `frozen_money` decimal(10,2) NOT NULL COMMENT '被冻结的资金', `rank_points` mediumint(9) NOT NULL COMMENT '等级积分,跟消费积分是分开的', `pay_points` mediumint(9) NOT NULL COMMENT '消费积分,跟等级积分是分开的', `change_time` int(10) unsigned NOT NULL COMMENT '该笔操作发生的时间', `change_desc` varchar(255) NOT NULL COMMENT '该笔操作的备注,一般是,充值或者提现。也可是是管理员后台写的任何在备注', `change_type` tinyint(3) unsigned NOT NULL COMMENT '操作类型,0为充值,1为提现,2为管理员调节,99为其他类型', PRIMARY KEY (`log_id`), KEY `user_id` (`user_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='用户帐号情况记录表,包括资金和积分等' AUTO_INCREMENT=42 ; -- -------------------------------------------------------------------------------------------------------------------------------------------------------------------- 表的结构`ecs_ad` 广告表(位置,类型,名称,链接,图片,开始,结束,广告主相关信息,点击,是否显示) CREATE TABLE IF NOT EXISTS `ecs_ad` ( `ad_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID号', `position_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '0,站外广告;从1开始代表的是该广告所处的广告位,同表ad_position中的字段position_id的值', `media_type` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '广告类型,0,图片;1,flash;2,代码;3,文字', `ad_name` varchar(60) NOT NULL COMMENT '该条广告记录的广告名称', `ad_link` varchar(255) NOT NULL COMMENT '广告链接地址', `ad_code` text NOT NULL COMMENT '广告链接的表现,文字广告就是文字或图片和flash就是它们的地址,代码广告就是代码内容', `start_time` int(11) NOT NULL DEFAULT '0' COMMENT '广告开始时间', `end_time` int(11) NOT NULL DEFAULT '0' COMMENT '广告结束时间', `link_man` varchar(60) NOT NULL COMMENT '广告联系人', `link_email` varchar(60) NOT NULL COMMENT '广告联系人的邮箱', `link_phone` varchar(60) NOT NULL COMMENT '广告联系人的电话',
ECShop2.5.1_Beta upload 的目录┣activity.php 活动列表 ┣affiche.php 广告处理文件 ┣affiliate.php 生成商品列表 ┣article.php 文章内容 ┣article_cat.php文章分类 ┣auction.php 拍卖前台文件 ┣brand.php 品牌列表 ┣captcha.php 生成验证码 ┣catalog.php 列出所以分类及品牌┣category.php 商品分类 ┣comment.php 提交用户评论 ┣compare.php 商品比较程序 ┣cycle_image.php 轮播图片程序┣feed.php RSS Feed 生成程序 ┣flow.php 购物流程 ┣gallery.php 商品相册 ┣goods.php 商品详情 ┣goods_script.php 生成商品列表
┣group_buy.php 团购商品前台文件 ┣index.php 首页文件 ┣myship.php 支付配送DEMO ┣pick_out.php 选购中心 ┣receive.php 处理收回确认的页面 ┣region.php 地区切换程序 ┣respond.php 支付响应页面 ┣robots.txt ┣search.php 搜索程序 ┣sitemaps.php google sitemap 文件 ┣snatch.php 夺宝奇兵前台页面 ┣tag_cloud.php 标签云 ┣topic.php 专题前台 ┣user.php 会员中心 ┣vote.php 调查程序 ┣wholesale.php 批发前台文件 ┣admin文件夹 ┃┣account_log.php 管理中心帐户变动记录┃┣admin_logs.php 记录管理员操作日志
ecshop网站项目 软件需求规格说明书 项目名称文档编号 ecshop D001 项目ID 密级:机密 P001 共44页 拟制陈强日期2010-12-6 评审人日期 批准日期 签发日期 changshahuri IT Co., Ltd. 长沙华瑞软件学院 All rights reserved 版权所有侵权必究
目录 1. 简介 (3) 1.1. 编写目的 (3) 让您更了解ECSHOP的各方面功能,以及对ECSHOP更深的了解。 (3) 1.2. 适用范围 (3) 1.2.1. 软件名称 (3) 1.2.2. 软件功能 (3) 1.2.3. 软件应用 (4) 1.3. 定义及关键词 (4) 1.4. 参考资料 (5) 1.5. 项目流程 (5) 登录总体概述 (5) 1.6. 软件概述 (6) 1.6.1. 项目介绍 (6) 1.6. 2. 产品环境介绍 ....................................... 错误!未定义书签。 1.7. 软件模块 (6) 1.8. 角色ACTORS (7) 2. 功能需求 (8) 2.1. 需求分析 (8) 2.1.1. 商品前台展示 (8) 2.1.2. 商品后台管理 (12) (21) 2.1.3. 会员管理 (21) 2.1.4. 订单管理 (29) 2.1.5. 后台权限管理 (40) 表目录 表1. 关键词 (4)
1. 简介 1.1. 编写目的 让您更了解ecshop的各方面功能,以及对ecshop更深的了解。 1.2. 适用范围 1.2.1. 软件名称 ECShop 英文全称为e-Commerce Shop,中文全称为ECShop 网上商店管理系统,简称ECShop 1.2.2. 软件功能 1.前台:用户注册模块、用户登录模块、用户中心模块、购物车管理模块、商品展示 模块、留言板模块。 (1)前台会员注册 客户想要进行网上购物就必须先进行注册(当然作为游客购物,可以直接联系管理进行购物) (2)前台会员登录 客户想要购买商品需要先进行登录 (3)用户中心 此模块包括欢迎页、用户信息、我的订单、收货地址、我的留言、缺货登记、 我的评论、资金管理、我的积分。 欢迎页:显示会员上次登录的信息及有关积分、订单的一些信息。 用户信息:显示出该会员的详细信息并进行修改。 我的订单:显示该会员的订单的信息及订单状态,如果已收到货物可进行付 款,点击订单号可显示该订单的具体信息。 收货地址:显示当前该用户的所有收获地址的详细信息,并且可以对任何一 个收获地址进行修改或删除操作。 我的留言:显示该会员的所有的留言及回复,并且可进行新的留言。 缺货登记:会员购买的商品不足时可以进行缺货登记,可查看登记记录、删 除登记记录 我的评论:显示该会员的所有的评论即店主回复。 资金管理:会员可以进行充值申请、提现申请、查看账单明细、查看申请记 录等操作。 我的积分:查看我的当前积分,及根据当前积分可参加哪些优惠活动提示。(4)购物车 购物车模块是此项目中最重要的一个模块,每一个用户都有一个属于自己的购物车,会员可以根据喜好任意删除购物车中的商品或添加新的商品,当用户结账时先从购物车中读出来再进行合计,结账完成后要清空购物车,会员退出后,购物车将自动销毁。 (5)流言板模块 此模块实现的功能是显示会员的留言以及回复,可进行留言。
ecshop计算各种价格函数 function get_final_price($goods_id, $goods_num = '1', $is_spec_price = false, $spec = array()) { $final_price = '0'; //商品最终购买价格 $volume_price = '0'; //商品优惠价格 $promote_price = '0'; //商品促销价格 $user_price = '0'; //商品会员价格 //取得商品优惠价格列表 $price_list = get_volume_price_list($goods_id, '1'); if (!empty($price_list)) { foreach ($price_list as $value) { if ($goods_num >= $value['number']) { $volume_price = $value['price']; } } } //取得商品促销价格列表 /* 取得商品信息 */ $sql = "SELECT g.promote_price, g.promote_start_date, g.promote_end_date, ". "IFNULL(https://www.sodocs.net/doc/0114916335.html,er_price, g.shop_price * '" . $_SESSION['discount'] . "') AS shop_price ". " FROM " .$GLOBALS['ecs']->table('goods'). " AS g ". " LEFT JOIN " . $GLOBALS['ecs']->table('member_price') . " AS mp ". "ON mp.goods_id = g.goods_id AND https://www.sodocs.net/doc/0114916335.html,er_rank = '" . $_SESSION['user_rank']. "' ". " WHERE g.goods_id = '" . $goods_id . "'" . " AND g.is_delete = 0"; $goods = $GLOBALS['db']->getRow($sql); /* 计算商品的促销价格 */ if ($goods['promote_price'] > 0) { $promote_price = bargain_price($goods['promote_price'], $goods['promote_start_date'], $goods['promote_end_date']); } else
ecshop 函数列表大全 所有函数功能说明: lib_time.php gmtime() P: 获得当前格林威治时间的时间戳 /$0 server_timezone() P: 获得服务器的时区 /$0 local_mktime($hour = NULL , $minute= NULL, $second = NULL, $month = NULL, $day = NULL, $year = NULL) P: 生成一个用户自定义时区日期的GMT时间戳 local_date($format, $time = NULL) P: 将GMT时间戳格式化为用户自定义时区日期 gmstr2time($str) P: 转换字符串形式的时间表达式为GMT时间戳 local_strtotime($str) P: 将一个用户自定义时区的日期转为GMT时间戳 local_gettime($timestamp = NULL) P: 获得用户所在时区指定的时间戳 local_getdate($timestamp = NULL) P: 获得用户所在时区指定的日期和时间信息 lib_base.php sub_str($str, $length = 0, $append = true) P: 截取UTF-8编码下字符串的函数 real_ip() P: 获得用户的真实IP地址 str_len($str) P: 计算字符串的长度(汉字按照两个字符计算) get_crlf() P: 获得用户操作系统的换行符 send_mail($name, $email, $subject, $content, $type = 0, $notification=false) P: 邮件发送 gd_version() P: 获得服务器上的 GD 版本 file_get_contents($file) P: 如果系统不存在file_get_contents函数则声明该函数 file_put_contents($file, $data, $flags = '') P: 如果系统不存在file_put_contents函数则声明该函数 floatval($n) P: 如果系统不存在 floatval 函数则声明该函数 file_mode_info($file_path)
功能列表基于ECSHOP2.7.0 内核 目录 一商品管理 二促销管理 三订单管理 四广告管理 五报表统计 六文章管理 七会员管理 八权限管理 九系统设置 十模板管理 十一数据库管理 十二推荐管理 十三邮件群发管理 一商品管理 1商品列表 查看编辑复制回收站 2添加新商品 通用信息详细描述其他信息商品属性商品相册关联商品配件关联文章 可上传可展示商品3D 展示。 3商品分类 添加商品分类。管理商品分类转移商品、编辑、移除 ECSHOP 页面title 设置体系要改原来的体系是下级的继承上级的要改成完全自主的title 4用户评论 状态改变查看及回复删除 5商品品牌
编辑添加移除 6商品类型 新建商品类型编辑类型属性查看商品属性列表移除商品属性 7商品回收站 8图片批量处理 处理商品图片处理商品像册重新生成缩略图重新生成商品详情图 9商品批量上传 CSV 文件导入 10商品批量导出 CSV 文件导出 11商品批量修改 市场价格本店价格初级会员高级会员 VIP 会员批发积分购买赠送积分库存品 牌 12生成商品代码 生成可插入其他网页的商品代码 13标签管理 管理会员定义的商品标签 14虚拟卡列表 添加虚拟卡管理虚拟卡 15添加新虚拟卡 直接添加虚拟卡 16更改加密串 更改虚拟卡类商品的卡号和密码的加密串 17商品自动上下架 控制商品自动上下架的时间 18个性定制商品管理 裸钻导入、导出、更新钻托导入、导出、更新。 流程选择一颗钻石->选择一个钻托款式->合成一个钻石首饰 这个功能包含的页面 第一页钻石列表可以按照价格、钻石4C 来搜索列出符合属性的钻石。 第二页钻石详情页面、该页面下也可以单独购买钻石。 第三页选择要定制的首饰类别戒指吊坠、耳钉。 第四页列出指定首饰类别下的钻托列表。 第五页钻托详情页。 第六页确认定制信息完成定制。 19可定制类款式商品管理。 同一款式钻石首饰、导入其可镶嵌钻石10 分、20 分、….到2 克拉材质18K、pt 的不同价格。 在前台显示上在分类列表页面 可以定制商品如下展示
Ecshop系统框架分析 第一、整体框架结构:个人认为整个系统是层结构有数据层有外观层比如我们index.php 是外观层(和用户打交道的层)那推荐产品来说吧在index.php 是对数据层函数的调用 get_recommend_goods('new') 这个函数那么他是在include 目录下的 lib_goods.php进行定义既数据层。 第二、重要目录:首先大多前台程序是在根目录下 admin 这个文件夹是我们后台的文件夹后台的模板文件是在下一层的templates 里。这里我强调几个后台文件首先需要了解init.php 这个是对后台session 访问权限调用模板的路径等功能的设置第二个文件是inc_menu.php 这是定义功能菜单文件 看到论坛有人要把后台一些功能去掉你就可以改这文件把里面的一些模块删了即可。templates下 _list.htm 是列表页 _info.htm是修改添加页的模板文件。 data 文件夹里面我们用的最多的是要打开config.php对数据库参数进行修改(移动代码不安装的情况下需要在这修改数据库参数)order_print.html 这个也很重要有些客户要修改订单打印页的效果需要在这修改。 includes 文件夹是很重要的里面经常打开的文件init.php lib_common.php是共同函数lib_goos.php是处理前台所有商品调用的函数库lib_order.php当然是处理订单的文件 cls_transport.php处理会员中心功能的文件lib_article.php 文章数据层。 lib_insert.php 这个文件也不可忽视,有点时候会让你一些东西找不到,结果就在他里面。比如,购入车,就是在这文件里广告调用。浏览历史,比如,浏览历史的函数,为了可以显示图片,你就可以在这个地方改。