当前位置:文档之家› ecshop中买几赠几优惠活动

ecshop中买几赠几优惠活动

ecshop中买几赠几优惠活动
ecshop中买几赠几优惠活动

1.此代码为多国语言版本的,一国语言的类似,下载者只需关注蓝色标注部分即可

2.买一赠一、买几赠几

/**

* 添加商品到购物车

*

* @access public

* @param integer $goods_id 商品编号

* @param integer $num 商品数量

* @param array $spec 规格

* @param integer $parent 基本件

* @return boolean

*/

function addto_cart($goods_id, $num = 1, $spec = array(), $parent = 0)

{

$GLOBALS['err']->clean();

/* 取得商品信息*/

///-----------------------weiyanhui---------------------------

if($_SESSION['lang_option']=="_zh"){

$sql = "SELECT g.goods_name, g.goods_sn, g.is_on_sale, g.is_real, ".

"g.market_price, g.shop_price AS org_price, g.promote_price, g.promote_start_date, ".

"g.promote_end_date, g.goods_weight, g.integral, g.extension_code, ".

"g.goods_number, g.is_alone_sale, g.is_shipping,".

"IFNULL(https://www.doczj.com/doc/2416273084.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.doczj.com/doc/2416273084.html,er_rank = '$_SESSION[user_rank]' ".

" WHERE g.goods_id = '$goods_id'" .

" AND g.is_delete = 0";

}elseif($_SESSION['lang_option']=="_tw"){

$sql = "SELECT g.goods_name_tw, g.goods_sn, g.is_on_sale, g.is_real, ".

"g.market_price, g.shop_price AS org_price, g.promote_price, g.promote_start_date, ".

"g.promote_end_date, g.goods_weight, g.integral, g.extension_code, ".

"g.goods_number, g.is_alone_sale, g.is_shipping,".

"IFNULL(https://www.doczj.com/doc/2416273084.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.doczj.com/doc/2416273084.html,er_rank = '$_SESSION[user_rank]' ".

" WHERE g.goods_id = '$goods_id'" .

" AND g.is_delete = 0";

}elseif($_SESSION['lang_option']=="_en"){

$sql = "SELECT g.goods_name_en, g.goods_sn, g.is_on_sale, g.is_real, ".

"g.market_price, g.shop_price AS org_price, g.promote_price, g.promote_start_date, ".

"g.promote_end_date, g.goods_weight, g.integral, g.extension_code, ".

"g.goods_number, g.is_alone_sale, g.is_shipping,".

"IFNULL(https://www.doczj.com/doc/2416273084.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.doczj.com/doc/2416273084.html,er_rank = '$_SESSION[user_rank]' ".

" WHERE g.goods_id = '$goods_id'" .

" AND g.is_delete = 0";

}elseif($_SESSION['lang_option']=="_ru"){

$sql = "SELECT g.goods_name_ru, g.goods_sn, g.is_on_sale, g.is_real, ".

"g.market_price, g.shop_price AS org_price, g.promote_price, g.promote_start_date, ".

"g.promote_end_date, g.goods_weight, g.integral, g.extension_code, ".

"g.goods_number, g.is_alone_sale, g.is_shipping,".

"IFNULL(https://www.doczj.com/doc/2416273084.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.doczj.com/doc/2416273084.html,er_rank = '$_SESSION[user_rank]' ".

" WHERE g.goods_id = '$goods_id'" .

" AND g.is_delete = 0";

}elseif($_SESSION['lang_option']=="_jp"){

$sql = "SELECT g.goods_name_jp, g.goods_sn, g.is_on_sale, g.is_real, ".

"g.market_price, g.shop_price AS org_price, g.promote_price, g.promote_start_date, ".

"g.promote_end_date, g.goods_weight, g.integral, g.extension_code, ".

"g.goods_number, g.is_alone_sale, g.is_shipping,".

"IFNULL(https://www.doczj.com/doc/2416273084.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.doczj.com/doc/2416273084.html,er_rank = '$_SESSION[user_rank]' ".

" WHERE g.goods_id = '$goods_id'" .

" AND g.is_delete = 0";

}

$goods = $GLOBALS['db']->getRow($sql);

if (empty($goods))

{

$GLOBALS['err']->add($GLOBALS['_LANG']['goods_not_exists'],

ERR_NOT_EXISTS);

return false;

}

/* 如果是作为配件添加到购物车的,需要先检查购物车里面是否已经有基本件*/

if ($parent > 0)

{

$sql = "SELECT COUNT(*) FROM " . $GLOBALS['ecs']->table('cart') .

" WHERE goods_id='$parent' AND session_id='" . SESS_ID . "'";

if ($GLOBALS['db']->getOne($sql) == 0)

{

$GLOBALS['err']->add($GLOBALS['_LANG']['no_basic_goods'],

ERR_NO_BASIC_GOODS);

return false;

}

/* 检查该配件是否已经添加过了。*/

$sql = "SELECT COUNT(*) FROM " . $GLOBALS['ecs']->table('cart') .

" WHERE goods_id = '$goods_id' AND parent_id='$parent' AND session_id='" . SESS_ID . "'";

if ($GLOBALS['db']->getOne($sql) > 0)

{

$GLOBALS['err']->add($GLOBALS['_LANG']['fitting_goods_exists'] , ERR_NOT_EXISTS);

return false;

}

}

/* 是否正在销售*/

if ($goods['is_on_sale'] == 0)

{

$GLOBALS['err']->add($GLOBALS['_LANG']['not_on_sale'],

ERR_NOT_ON_SALE);

return false;

}

/* 不是配件时检查是否允许单独销售*/

if (empty($parent) && $goods['is_alone_sale'] == 0)

{

$GLOBALS['err']->add($GLOBALS['_LANG']['cannt_alone_sale'],

ERR_CANNT_ALONE_SALE);

return false;

}

/* 检查库存*/

if ($GLOBALS['_CFG']['use_storage'] == 1 && $num > $goods['goods_number'])

{

$num = $goods['goods_number'];

$GLOBALS['err']->add(sprintf($GLOBALS['_LANG']['shortage'], $num), ERR_OUT_OF_STOCK);

return false;

}

/* 计算商品的促销价格*/

$spec_price = spec_price($spec);

$goods_price = get_final_price($goods_id, $num, true, $spec);

$goods['market_price'] += $spec_price;

$goods_attr = get_goods_attr_info($spec);

$goods_attr_id = join(',', $spec);

/* 初始化要插入购物车的基本件数据*/

if($_SESSION['lang_option']=="_tw"){

$goods['goods_name']=$goods['goods_name_tw'];

}elseif($_SESSION['lang_option']=="_en"){

$goods['goods_name']=$goods['goods_name_en'];

}elseif($_SESSION['lang_option']=="_ru"){

$goods['goods_name']=$goods['goods_name_ru'];

}elseif($_SESSION['lang_option']=="_jp"){

$goods['goods_name']=$goods['goods_name_jp'];

}

$parent = array(

'user_id' => $_SESSION['user_id'],

'session_id' => SESS_ID,

'goods_id' => $goods_id,

'goods_sn' => addslashes($goods['goods_sn']),

'goods_name' => addslashes($goods['goods_name']),

'market_price' => $goods['market_price'],

'goods_attr' => addslashes($goods_attr),

'goods_attr_id' => $goods_attr_id,

'is_real' => $goods['is_real'],

'extension_code'=> $goods['extension_code'],

'is_gift' => 0,

'is_shipping' => $goods['is_shipping'],

'rec_type' => CART_GENERAL_GOODS

);

/* 取得该商品的基本件和该商品作为其配件的价格(条件是价格低)*/

$basic_list = array();

$sql = "SELECT parent_id, goods_price " .

"FROM " . $GLOBALS['ecs']->table('group_goods') .

" WHERE goods_id = '$goods_id'" .

" AND goods_price < '$goods_price'" .

" ORDER BY goods_price";

$res = $GLOBALS['db']->query($sql);

while ($row = $GLOBALS['db']->fetchRow($res))

{

$basic_list[$row['parent_id']] = $row['goods_price'];

}

/* 取得购物车中该商品每个基本件的数量*/

$basic_count_list = array();

if ($basic_list)

{

$sql = "SELECT goods_id, SUM(goods_number) AS count " .

"FROM " . $GLOBALS['ecs']->table('cart') .

" WHERE session_id = '" . SESS_ID . "'" .

" AND parent_id = 0" .

" AND goods_id " . db_create_in(array_keys($basic_list)) .

" GROUP BY goods_id";

$res = $GLOBALS['db']->query($sql);

while ($row = $GLOBALS['db']->fetchRow($res))

{

$basic_count_list[$row['goods_id']] = $row['count'];

}

}

/* 取得购物车中该商品每个基本件已有该商品配件数量,计算出每个基本件还能有几

个该商品配件*/

if ($basic_count_list)

{

$sql = "SELECT parent_id, SUM(goods_number) AS count " .

"FROM " . $GLOBALS['ecs']->table('cart') .

" WHERE session_id = '" . SESS_ID . "'" .

" AND goods_id = '$goods_id'" .

" AND parent_id " . db_create_in(array_keys($basic_count_list)) .

" GROUP BY parent_id";

$res = $GLOBALS['db']->query($sql);

while ($row = $GLOBALS['db']->fetchRow($res))

{

$basic_count_list[$row['parent_id']] -= $row['count'];

}

}

/* 循环插入配件*/

foreach ($basic_list as $parent_id => $fitting_price)

{

/* 如果已全部插入,退出*/

if ($num <= 0)

{

break;

}

/* 如果该基本件不再购物车中,执行下一个*/

if (!isset($basic_count_list[$parent_id]))

{

continue;

}

/* 如果该基本件的配件数量已满,执行下一个基本件*/

if ($basic_count_list[$parent_id] <= 0)

{

continue;

}

/* 作为该基本件的配件插入*/

$parent['goods_price'] = max($fitting_price, 0) + $spec_price;

$parent['goods_number'] = min($num, $basic_count_list[$parent_id]);

$parent['parent_id'] = $parent_id;

$GLOBALS['db']->autoExecute($GLOBALS['ecs']->table('cart'), $parent, 'INSERT');

/* 改变数量*/

$num -= $parent['goods_number'];

}

/* 如果数量不为0,作为基本件(普通商品)插入*/

if ($num > 0)///要购买的商品数量

{

/* 检查该商品是否已经存在在购物车中*/

$sql = "SELECT goods_number FROM " .$GLOBALS['ecs']->table('cart').

" WHERE session_id = '" .SESS_ID. "' AND goods_id = '$goods_id' ".

"AND parent_id = 0 AND goods_attr = '" .get_goods_attr_info($spec). "' " .

"AND rec_type = 'CART_GENERAL_GOODS' AND is_gift = '0'";

$row = $GLOBALS['db']->getRow($sql);

///-----------------------检查是否存在此赠品--------------------------------------------

///--------------------- goods_id = '66': 赠品id------------------------------------------

if (date("Y-m-d",time()) < "2010-12-15") {///失效日期

if ($_SESSION['lang_option']=="_zh" ) {

$sql = "SELECT goods_number FROM " .$GLOBALS['ecs']->table('cart').

" WHERE session_id = '" .SESS_ID. "' AND goods_id = '66' ".

"AND is_gift = '11' " ;

$zp = $GLOBALS['db']->getRow($sql);///赠品数量

}

}

///赠品与商品总数量

$zp_num = $zp['goods_number'] + $num;

if($row) //如果购物车已经有此物品,则更新数量

{

$num += $row['goods_number'];///商品数量

if ($GLOBALS['_CFG']['use_storage'] == 0 || $num <= $goods['goods_number'])

{

$goods_price = get_final_price($goods_id, $num, true, $spec);

$sql = "UPDATE " . $GLOBALS['ecs']->table('cart') . " SET goods_number = '$num'" .

" , goods_price = '$goods_price'".

" WHERE session_id = '" .SESS_ID. "' AND goods_id = '$goods_id' ".

"AND parent_id = 0 AND goods_attr = '" .get_goods_attr_info($spec). "' " .

"AND rec_type = 'CART_GENERAL_GOODS'";

$GLOBALS['db']->query($sql);

if ($goods_id == "49") {

if ($_SESSION['lang_option']=="_zh") {

if (date("Y-m-d",time()) < "2010-12-15") {

///买一赠一活动:$zp_num与购买的商品数量相等

$sql = "UPDA TE " . $GLOBALS['ecs']->table('cart') . " SET goods_number = '$zp_num'" .

" WHERE session_id = '" .SESS_ID. "' AND goods_id = '66' ".

" AND is_gift = '11' ";

$GLOBALS['db']->query($sql);

}

}

}

}

else

{

$GLOBALS['err']->add(sprintf($GLOBALS['_LANG']['shortage'], $num), ERR_OUT_OF_STOCK);

return false;

}

}

else //购物车没有此物品,则插入

{

$goods_price = get_final_price($goods_id, $num, true, $spec);

$parent['goods_price'] = max($goods_price, 0);

$parent['goods_number'] = $num;///商品数量

$parent['parent_id'] = 0;

$GLOBALS['db']->autoExecute($GLOBALS['ecs']->table('cart'), $parent, 'INSERT');

if ($goods_id == "49") {////购买商品的id

if ($_SESSION['lang_option']=="_zh" ) {

if (date("Y-m-d",time()) < "2010-12-15") {

if ($zp) {

$sql = "UPDA TE " . $GLOBALS['ecs']->table('cart') . " SET goods_number = '$zp_num'" .

" WHERE session_id = '" .SESS_ID. "' AND goods_id = '66' ".

" AND is_gift = '11'";

$GLOBALS['db']->query($sql);

} else {

///插入赠品

$parents = array(

'user_id' => $_SESSION['user_id'],

'session_id' => SESS_ID,

'goods_id' => 66,

'goods_sn' => 'ECS000055',

'goods_name' => '安全套青柠檬3只装(银盒)',

'market_price' => 0,

'goods_attr' => '',

'parent_id' => $goods_id,

'goods_attr_id' => '',

'is_real' => '1',

'extension_code'=> '',

'is_gift' => 11,

'is_shipping' => '1',

'rec_type' => CART_GENERAL_GOODS

);

$parents['goods_number'] = $num;///赠品数量

$GLOBALS['db']->autoExecute($GLOBALS['ecs']->table('cart'), $parents, 'INSERT');

}

}

}

}

}

}

if (date("Y-m-d",time()) < "2010-12-15") {

} else {

/* 把赠品删除*/

$sql = "DELETE FROM " . $GLOBALS['ecs']->table('cart') . " WHERE session_id = '" . SESS_ID . "' AND is_gift <> 0";

$GLOBALS['db']->query($sql);

}

return true;

}

网上商城需求分析教学文案

网上商城需求分析 开发人员:魏光龙 开发日期:2009-12-29 目录: 项目概述 (2) 模块介绍 (2) 1、前台 (2) (1) 购物流程图 (2) (2) 留言板 (3) (3) 用户评论 (3) (4) 促销活动 (3) 2、消费者后台 (3) (1) 欢迎页 (3) (2) 用户信息 (4) (3) ..................................................................................................................................... 我 的订单 (4) (4) 收货地址 (4) (5) 我的收藏 (4) (6) 我的留言 (5) (7) 缺货登记 (5) (8) 我的评论 (5) (9) 资金管理 (5) 3、管理后台 (6) (1) 商品管理 (6) (2) 会员管理 (7) (3) 促销管理 (8) (4) 订单管理 (8) (5) 报表管理 (9) (6) 权限管理 (9) (7) 系统设置 (10) 表的构建 (10)

项目概述: 本系统主要功能是为用户在网上开店建立一个平台, 用户可以针对习惯网上购物的客户展示和销售商品,并实现安全交易。实现的功能模块有,前台的商品展示、购物车、订单、收藏夹、缺货登记、会员信息管理等,后台实现了商品的列表和管理、会员管理、订单管理、报表管理、系统管理 模块介绍: 1、前台

① 商品信息表 ② 购物车表 ③ 收藏夹表 ⑷会员表 ◎>缺货登记表 ◎订单表 ⑵留言板 留言信息包含 1匿名或用户名 2、 email 3、 留言类型 4、 主题 5、 内容 (3)用户评论 用户评论信息包含 1匿名或用户名 2、 等级 3、 评论内容 (4)促销活动 I > 促销活动信息 2、 消费者后台 (1) 欢迎页: a 、余额显示 留言信息 留言表 剩余资金管理表 二> 剩余余额和积分 评论信息 用户评论表 促销各个活动表

ecshop_v2.7.2数据库表结构2012完善版

ECShop 2.7.2版本,数据库表 版本:2010年09月14日,初稿,有待完善。 说明:ECShop 2.7.2版本的数据库表,共88张表。 注: 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,关键字, 类型,是否显示,添加时间,文件地址,打开类型) ecs_article_cat //文章分类(名称,类型,关键字,描述,排序,是否导航显示) ecs_attribute //商品属性

ecshop目录结构图

ecshop数据库表结构

Ecshop 2.7.0数据库表结构 绿色:ecshop2.7.0当中的数据库。86个数据表 蓝色:ecshop2.7.0没有的! 蓝色:ecshop2.5.0在ecshop 2.7.0中没有的。。(追加进去的) ===================================================================================== ecs_account_log//用户账目日志表(log_id user_id user_money froz en_money rank_points pay_points change_time change_desc change_type) ecs_activity//活动表(代码,名称,开始,结束,描述) ecs_ad//广告表(广告序号,广告位置,媒体类型,名称,链接,上传广告图片,开始,结束,广告联系人信息,点击,是否显示) ad_id position_id media_type ad_name ad_link ad_code start_time end_time link_man link_email link_phone click_count enabled ecs_admin_action//管理权限分配(父类ID,权限代码) action_id parent_id action_code ecs_admin_log//管理日志(登陆时间,登陆管理员ID,操作描述,IP) log_id log_time user_id log_info ip_address ecs_admin_message//管理员留言(发送者ID,接收者ID,发送日期,阅读日期,是否 已读,是否删除,标题,内容) ecs_admin_user//管理员管理(用户名,email,密码,加入时间,最后登陆时间,最后 登陆IP,权限等) ecs_adsense//广告相关统计(来源广告,来源位置,点击) ecs_ad_custom//广告客户(ad_id,ad_type,ad_name,add_time,content,url,ad_status)ecs_ad_position//广告位(名称,宽,高,描述,样式) position_id position_name ad_width ad_height position_desc position_style ecs_affiliate_log//?(名称,宽,高,描述,样式) ecs_agency//?(名称,宽,高,描述,样式)

Ecshop商品重量如何修改为商品规格

Ecshop商品重量如何修改为商品规格 一、 分析:ecshop商品重量修改成自定议规格需要修改两个主要地方: 1、后台PHP程序(因为后台对商品重量内容有限制,即必须为数字) 2、Mysql数据库字段(数据库中商品表中ecs_goods中的goods_weight的字段类型为 decimal(10,3) unsigned) 二、开始修改 1、找到后台商品添加接收页面即程序根目录下的good.php 2、找到:(在158-179行) 将'promote_end_date' => local_date('Y-m-d', local_strtotime('+1 month')), 'goods_weight' => 0, 'give_integral' => -1, 修改为: 'promote_end_date' => local_date('Y-m-d', local_strtotime('+1 month')), 'goods_weight' => ‘‘, 'give_integral' => -1, 3、再找到:(242-246行)'promote_start_date' => local_date('Y-m-d'), 'promote_end_date' => local_date('Y-m-d', gmstr2tome('+1 month')), 'goods_weight' => 0, 'give_integral' => -1, 'rank_integral' => -1 修改为:'promote_start_date' => local_date('Y-m-d'), 'promote_end_date' => local_date('Y-m-d', gmstr2tome('+1 month')), 'goods_weight' => '800*2000', 'give_integral' => -1, 'rank_integral' => -1 4、再找到:(256-260行)/* 根据商品重量的单位重新计算*/ if ($goods['goods_weight'] > 0) { $goods['goods_weight_by_unit'] = ($goods['goods_weight'] >= 1) ? $goods['goods_weight'] : ($goods['goods_weight'] / 0.001); } 修改为:/* 根据商品重量的单位重新计算*/ if ($goods['goods_weight']) { $goods['goods_weight_by_unit'] = ($goods['goods_weight'] >= '') ? $goods['goods_guige'] : "800*2000"; } 5、再找到:$smarty->assign('unit_list', get_unit_list()); $smarty->assign('user_rank_list', get_user_rank_list()); $smarty->assign('weight_unit', $is_add ? '1' : ($goods['goods_weight'] >= 1 ? '1' : '0.001'));

ecshop模板结构说明及标签(二次开发使用)

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项目总结(面试技巧部分) NO1:ECSHOP是一个什么样的系统?(该系统是做什么的,系统架构是怎么样的) ECSHOP是一个基于B/S架构的B2C电子商务系统。ECSHOP的环境支持Linux和Windows跨平台操作,我们是部署在Windows上的: WindowsServer2003+PHP+Apache+MySQL。 NO2:在ECSHOP的项目中你做了些什么?(你负责哪些模块,完成了哪些测试任务) 负责后台管理的“用户评论”、“订单管理”和“报表统计”3个模块。参与需求、配置管理计划和系统测试计划的评审工作,编写我所负责3个模块的测试方案、系统测试用例,以及用例的执行工作。组内安排了3个人负责SVN、QC工具的安装和测试环境的搭建工作,但其他组员也独立完成过这些工作。 NO3:需求评审你们是怎么做的?你一共找到了多少个问题,其中哪些问题你认为是一定要提出来的? 需求评审采用同行评审的方式来做的。我负责的模块找到十几个问题。二义性的问题和该有的提示系统没有相应的提示,这关系到系统测试方案的设计、测试用例的编写以及开发人员编程逻辑。 NO4:你认为写测试计划最重要的是什么?安排不合理怎么办? 测试计划最重要是熟悉和理解需求,合理分配测试成员的工作量,同时要考虑到模块之间关联的紧密度。如确实分配不合理,及时沟通调整以期更好完成测试工作。 NO5:测试方案该怎么写,测试方案和计划有什么区别? 测试计划主要在于时间的安排和工作的分配,便于完成测试工作进度的度量和监控。 测试方案是对计划的实现,是对测用例编写的指导。首先,通过对需规格说明书的理解,提取出测试的需求点和子需求点;然后,分析这些需求点的用例编写方法。 NO6:用例优先级有什么作用?以ECSHOP某个模块为例介绍你的用例设计思路? 用例优先级区分出核心模块、基本功能和重要级别高的用例,优先完成这些用例的测试才能保证其它部分用例的测试能够执行。

ECshop模板制作教程

ECshop模板制作教程 我是一个EC新手,EC就算做再多的模板,肯定也满足不了我们的需要,更何况各行有各行的门道,EC统一做出来的模板也不一定合适于我们这个行业用,因此,只有我们真正掌握了自己做模板,修改模板的功夫,才能真正的打造适合自己的电子商务平台,真正打造符合自己行业内的客户习惯的电子商务平台。 首先欢迎各位浏览本教程,恭喜大家使用 ECshop,!EC有多好,ECshop是PHP 构建的,PHP的应用我也不想多说了(亚马逊:https://www.doczj.com/doc/2416273084.html,,雅虎:https://www.doczj.com/doc/2416273084.html,,百度:https://www.doczj.com/doc/2416273084.html,淘宝:https://www.doczj.com/doc/2416273084.html,新浪:https://www.doczj.com/doc/2416273084.html,,腾讯:https://www.doczj.com/doc/2416273084.html,),(ps: ECshop成功了!在这一刻,他是伟大电子商务的传承,他不是一个人在战斗,他不是一个人 -_-!!! ) 我也不多讲了大家都知道,不过有时候热爱潜水的我真的时是实在忍不住要跳出来说两句. 本教程适用于了解 ECshop 和 ECshop模板DIY 以及它们的日常使用,在查看前阁下需要至少会使用一种编辑器(exp:Dreamweaver, editplus, emacs, vi, ee …意思就是可视化的HTML编辑器或者直接文本编辑器,我在讲的时候用Dreamwaver来讲,这样比较适合初学者和设计师)。这个教程目前由我一个人维护,但我相信,过不了多久就会有多人持续地维护。其中的内容需要不断地更新。如果您有兴趣参加,嘿嘿,PM我。我们一起为大家服务啊. 通过对本教程的学习,只要您边看边跟着做,一定能够学会自己做模板的。:) 下列章节的适用于ECshop程序。同时这里许多内容和一些 Smarty相关。假如您已经熟悉这些内容可跳过不阅读。假如您是ECshop新手并且想diy一下自己的店铺,那您应该认真详细地从头到尾读一遍这些章节。( ps: 大家不要紧张,我会尽量用人类的语言和大家交流,实在万不得已才会用机器语言展示给大家 ) 希望大家能够通过本教程,想要什么模板都能自己做出来。哈哈!一起加油吧! 第一章节: 读取这些内容,您将了解: 每个前台页面所对应的模板页面,模板文件的目录结构。 一些最基本的ECshop模板修改方法。 模板的路径以及相关包含文件的方法(深入了解Dreamweaver模板制作)。 一些常用模板例子讲解. 模板存放路径: ecshop/themes/xxxxx 其中的xxxxx就是某一套模板,如系统一般会自带的

ecshop数据库表结构

ECshop 数据库表结构分析三 2011-06-22 17:43 -- ------------------------------------------------------ -- 表的结构`ecs_order_info` CREATE TABLE IF NOT EXISTS `ecs_order_info` ( `order_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT COMMENT '订单详细信息自增id', `order_sn` varchar(20) NOT NULL COMMENT '订单号,唯一', `user_id` mediumint(8) unsigned NOT NULL DEFAULT '0' COMMENT '用户id,同ecs_users 的user_id', `order_status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '订单状态。0,未确认;1,已确认;2,已取消;3,无效;4,退货;', `shipping_status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '商品配送情况,0,未发货;1,已发货;2,已收货;3,备货中', `pay_status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '支付状态;0,未付款;1,付款中;2,已付款', `consignee` varchar(60) NOT NULL COMMENT '收货人的姓名,用户页面填写,默认取值于表user_address', `country` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '收货人的国家,用户页面填写,默认取值于表user_address,其id对应的值在ecs_region', `province` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '收货人的省份,用户页面填写,默认取值于表user_address,其id对应的值在ecs_region', `city` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '收货人的城市,用户页面填写,默认取值于表user_address,其id对应的值在ecs_region', `district` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '收货人的地区,用户页面填写,默认取值于表user_address,其id对应的值在ecs_region', `address` varchar(255) NOT NULL COMMENT '收货人的详细地址,用户页面填写,默认取值于表user_address', `zipcode` varchar(60) NOT NULL COMMENT '收货人的邮编,用户页面填写,默认取值于表user_address', `tel` varchar(60) NOT NULL COMMENT '收货人的电话,用户页面填写,默认取值于表user_address', `mobile` varchar(60) NOT NULL COMMENT '收货人的手机,用户页面填写,默认取值于表user_address', `email` varchar(60) NOT NULL COMMENT '收货人的手机,用户页面填写,默认取值于表user_address', `best_time` varchar(120) NOT NULL COMMENT '收货人的最佳送货时间,用户页面填写,默认取值于表user_address', `sign_building` varchar(120) NOT NULL COMMENT '收货人的地址的标志性建筑,用户页面填写,默认取值于表user_address', `postscript` varchar(255) NOT NULL COMMENT '订单附言,由用户提交订单前填写', `shipping_id` tinyint(3) NOT NULL DEFAULT '0' COMMENT '用户选择的配送方式id,取值表ecs_shipping', `shipping_name` varchar(120) NOT NULL COMMENT '用户选择的配送方式的名称,取值表

ecshop数据表说明

Ecshop数据库表说明 ECSHOP开发中心(https://www.doczj.com/doc/2416273084.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模板头部修改

今天开始从头部进行修改,头部的话针对的是所有的页面,你可以把头部做成一个公用文件,不过由于调用的JS和一些样式的不同也可以分开来做,如果要做成公共头文件的话,要把所有页面都会调用的JS和CSS加载上,不过东西也不多的,下面我就做成一个公共文件来用。 先讲一下每个页面的关键字:{$keywords},这是使用的smarty模板变量用来输出。“{}”是用来规定标签的开始与结束位置,有些类似于PHP中的“”,原理是一样的,中间的变量$keywords是从后台PHP文件中传输过来的变量,里面存储有值,{$keywords}就是把里面的值进行输出,由于{$keywords}和{$page_title}(页面标题的输出,在title标签间输出)是包含在head标签中的,所以我们可以不用动它们,不必把它们写进公共头文件。在head 标签中还有一个{insert_scripts files=','},它是用来调用JS文件的,如所见,它调用了,两个JS文件,head内的我们都不做为公共头文件,不过一会在公共头文件中我们会用到这个调用JS的方式,把所有要用到的JS文件调用进来。 首先新建一个公共头文件与其它*.dwt文件放一起,在第一行我们调用所有的JS文件:{insert_scripts files=',,auto_,,,,,,shopping_,,,,,'} JS文件很多,但不是每个页面都会用到所有的JS文件,或都有的页面已经在head中调用了一些需要使用的JS文件,有与我们写的JS文件重复的,没有关系,我们只是为了做一个公共文件,不用在每个页面都单独再去调用,有重复不会有任何影响。 下来我们来确定一下的字符集设置: 我使用的是gbk字符集,如果你使用的是utf-8的话,就要把字符集进行相应设置。 下面是一段JS代码: 设置它是为了防止有些页面调用JS页面时出现加载错误而无法正常运行程序。 下面是对LOGO图片的设置:

ecshop常见问题汇总

Ecshop常见问题汇总 ECSHOP开发中心(https://www.doczj.com/doc/2416273084.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}

ecshop连接数据库的文件是哪个

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 记录管理员操作日志 ┃┣ads.php 广告管理程序 ┃┣adsense.php 站外JS投放的统计程序 ┃┣ad_position.php广告位置管理程序 ┃┣affiliate.php 程序说明

ecshop模板制作入门教程

ecshop模板制作入门教程 本教程适用于了解 ecshop 和 ecshop模板DIY 以及它们的日常使用,在查看前阁下需要至少会使用一种编辑器(exp:Dreamweaver, editplus, emacs, vi, ee …意思就是可视化的HTML编辑器或者直接文本编辑器,我在讲的时候用Dreamwaver来讲,这样比较适合初学者和设计师) 通过对本教程的学习,只要您边看边跟着做,一定能够学会自己做模板的。:) 下列章节的适用于ecshop程序。同时这里许多内容和一些 Smarty相关。假如您已经熟悉这些内容可跳过不阅读。假如您是ecshop新手并且想diy一下自己的店铺,那您应该认真详细地从头到尾读一遍这些章节。( ps: 大家不要紧张,我会尽量用人类的语言和大家交流,实在万不得已才会用机器语言展示给大家 ) ecshop模板堂,电商系统及服务提供领导品牌!专注于ecshop模板开发、微信商城、商城APP等电商解决方案,助力千万企业早日实现电子商务! 希望大家能够通过本教程,想要什么模板都能自己做出来。哈哈!一起加油吧! ecshop模板堂是国内电商系统及服务提供领导品牌,市场占有率占行业份额70%以上,用户口碑、服务评价、产品质量均属业内领先地位。 产品链贯穿PC端(大商创B2B2C商城系统)、微信端(ECTouch微商城)、APP端(ECjia 商城APP),为传统行业插上互联网的翅膀。 第一章节: 读取这些内容,您将了解:

每个前台页面所对应的模板页面,模板文件的目录结构。 一些最基本的ecshop模板修改方法。 模板的路径以及相关包含文件的方法(深入了解Dreamweaver模板制作)。 一些常用模板例子讲解. 模板存放路径: ecshop/themes/xxxxx 其中的 xxxxx 就是某一套模板,如系统一般会自带的模板文件名叫做 default, (即:ecshop/themes/default )里面放的就是安装好时的默认模板,以下所有的说明都是针对默认模板来讲解. 操作前提,将您当前使用的模板调整为default模板,然后清空缓存。 接下来我们进入default目录,可以看到以下文件目录: images/ (存放模板中用到的图片) library/ ( 存放一些小模板文件及重复被用到的模板文件 ) style.css (模板样式文件) index.dwt (首页的模板 index.php) goods.dwt ( 商品显示页的模板 goods.php) *.dwt (表示其它.dwt文件) 虾米?难道你不相信这些就是模板吗?好,那我证明给你看看. 我们把把images里面的logo.gif文件的名字,改为logo2.gif,然后我们随便找一张gif图片,起名为logo.gif放到images目录中,然后我们刷新首页。看到没?首页logo被修改了。 如果你觉得大小不合适,那么我们打开library目录中的 page_header.lib 查看源代码,然后搜索 images/logo.gif 然后看它后面 width=”130″ height=”56″把130和56改为相应的值就可以了,到前台刷新看看。 好接下来我们用dreamweaver打开index.dwt文件,在源代码中搜索{$page_title} ,找到后,将{$page_title} 修改为超级无敌的大卖场. 然后到到浏览器前台刷新,看看页面有什么变化。虾米?没有发现吗?看看浏览器头

ecshop商品详情页面属性价格显示其对应价格

Ecshop商品详情页面属性价格显示其对应价格 ECSHOP开发中心(https://www.doczj.com/doc/2416273084.html,) ecshop默认的商品属性显示的是加多少钱 第一步:在lib_goods.php中找到 function get_goods_properties 方法 将下面的get_goods_properties方法覆盖掉原来的get_goods_properties方法 /** * 获得商品的属性和规格 * * @access public * @param integer $goods_id * @return array */ //yyy修改start function get_goods_properties($goods_id , $shop_price=0) //yyy修改end { /* 对属性进行重新排序和分组*/ $sql = "SELECT attr_group ". "FROM " . $GLOBALS['ecs']->table('goods_type') . " AS gt, " . $GLOBALS['ecs']->table('goods') . " AS g ". "WHERE g.goods_id='$goods_id' AND gt.cat_id=g.goods_type"; $grp = $GLOBALS['db']->getOne($sql); if (!empty($grp)) { $groups = explode("\n", strtr($grp, "\r", '')); }

/* 获得商品的规格*/ $sql = "SELECT a.attr_id, a.attr_name, a.attr_group, a.is_linked, a.attr_type, ". "g.goods_attr_id, g.attr_value, g.attr_price " . 'FROM ' . $GLOBALS['ecs']->table('goods_attr') . ' AS g ' . 'LEFT JOIN ' . $GLOBALS['ecs']->table('attribute') . ' AS a ON a.attr_id = g.attr_id ' . "WHERE g.goods_id = '$goods_id' " . 'ORDER BY a.sort_order, g.attr_price, g.goods_attr_id'; $res = $GLOBALS['db']->getAll($sql); $arr['pro'] = array(); // 属性 $arr['spe'] = array(); // 规格 $arr['lnk'] = array(); // 关联的属性 foreach ($res AS $row) { $row['attr_value'] = str_replace("\n", '
', $row['attr_value']); if ($row['attr_type'] == 0) { $group = (isset($groups[$row['attr_group']])) ? $groups[$row['attr_group']] : $GLOBALS['_LANG']['goods_attr']; $arr['pro'][$group][$row['attr_id']]['name'] = $row['attr_name']; $arr['pro'][$group][$row['attr_id']]['value'] = $row['attr_value']; } else { $arr['spe'][$row['attr_id']]['attr_type'] = $row['attr_type']; $arr['spe'][$row['attr_id']]['name'] = $row['attr_name']; //yyy修改start $arr['spe'][$row['attr_id']]['values'][] = array( 'label' => $row['attr_value'], 'price' => $row['attr_price'], 'format_price' => price_format(abs($row['attr_price']) + $shop_price, false),'id' => $row['goods_attr_id']);//yyy修改end }

ECSHOP数据库结构参数表

ECSHOP 数据库结构参数表 序言 本次信息整理只为了从事ECSHOP 二次开发人员方便之举,因此研究ECSHOP 官方数据结构,如若与官方产生冲突,敬请谅解!此版本属于V2.1.15 此信息属于网上一位朋友注释! 表结构分析 ecs_account_log // 用户账目日志表 ecs_activity // 活动表(代码,名称,开始,结束,描述) 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_area_region // 配送区域关联(配送区域ID,具体地址ID)ecs_article // 文章(分类ID,标题,内容,作者,作者email ,

关键字,类型,是否显示,添加时间,文件地址,打开类型) ecs_article_cat // 文章分类(名称,类型,关键字,描述,排序,是否导航显示) ecs_attribute // 商品属性(分类,名称,选择样式,类型,值,检索类型,排序,是否关联) ecs_bonus_type // 红包(名称,金额,发放起始日期,发放结束日期,使用起始日期,使用结束日期,发放类型,金额下限(按订单发放),金额上限) ecs_booking_goods // 缺货登记(登记用户ID,email ,电话,商品ID,描述,数量,登记时间,是否已处理,处理管理员,处理时间,处理备注) ecs_brand // 品牌(名称,logo,描述,链接,排序,是否显示)ecs_card // 祝福贺卡(名称,图片,费用,免费额度,描述) ecs_cart // 购物车(用户ID,session_id ,商品ID,商品编号,商品名称,市场价,购买价,数量,属性,是否真实商品,扩展代码,父类ID,类型,是否赠品,能否处理) ecs_category // 商品分类(名称,关键字,描述,父类ID,排序,是否有子类,模板文件,数量单位,是否导航显示) ecs_collect_goods // 收藏(用户ID,商品ID,收藏时间) ecs_comment // 评论(类型,类型ID,email ,用户名,内容,评星,添加时间,IP,状态,父类ID) ecs_feedback // 用户留言(父类ID,用户ID,用户名,email,标

相关主题
文本预览