ecshop模板结构说明及标签(二次开发使用)
常见ecshop二次开发问题及解答
9:如何管理首页flash播放器
答:后台-> flash播放器管理->增加自定义,你就可以 上传和控制图片的位置
10:如何修 改首页"精 品推荐"栏 目的more 小图片
回答:模板文件中library/recommend_best.lbi中, <divclass="more"><ahref="../search.php?intro=be st"><imgsrc="images/more.gif"/></a></div>
缀
回答:修改data/config.php 下的$prefix="ecs_";将ecs_ 修改成你需要的前缀.其次,在 数据库中,修改表名比如 ecs_goods修改为 "xxx_goods";
20:如何修 改ecshop 导航栏目名
称
回答:后台 -> 系统设置 -> 自 定义导航栏-> 编辑 -> 修改 导航栏名称
回答:模板文件中,打开goods.dwt,删除 <strong>{$lang.goods_click_count}: </strong>{$goods.click_count}
首页模板在哪个文件,头部模板,底部模板个什么文件名称
回答:首页模板在为index.dwt,头部模板在 librar y/page_header.lbi, 底部文件在 librar y/page_footer.lbi
3:如何修改 首页标题 "Powered by ECShop"
回答:includes/lib_main.php,找到$page_title =$GLOBALS['_CFG']['shop_title'] . ' - ' . 'Powered byECShop';修改成$page_title = $ G LO B A L S [ ' _ C F G ' ] [ 's h o p _ t i t l e' ] 就 可 以 了 。
ecshop二次开发手册
ecshop二次开发手册【基本结构】【基本熟悉】前言:ECSHOP是一套完整的网络商店解决方案,包括前台的商品展示、购物流程和强大易用的后台管理。
由于ecshop简单易用,使用者几乎可以在3几分钟简单的设置一下就可以拥有一个网上商店系统,所以很多的B2C站点都选择了使用ECShop网上商店系统,但是有时候我们需要做一些ecshop本来没有的功能或者前端展示,这时候就需要我们自己去进行对ecshop的二次开发了。
一、ecshop系统功能二次开发ecshop的代码结构非常易懂,只有有一点php基础都可以在原有的程序基础上进行修改,或功能插件的开发。
ecshop中的一些公用函数都会放在includes文件夹里,而这些公用函数几乎我们都可以用来参照一下就能轻松做出我们想要的其他功能了。
我们要对ecshop进行二次开发,简单来说其实就是对数据库的读写操作,所以只要我们读懂ecshop的数据库操作类,接下来的实现就很轻松了。
ecshop的数据库操作类是很强大的,一些常用的函数如下:1.获取单条记录$GLOBALS['db']->getRow($sql);2.获取单一字段$GLOBALS['db']->getOne($sql);例如查询产品总数:echo $GLOBALS['db']->getOne(…SELECT COUNT(*) FROM … .$GLOBALS['ecs']->table(…goods‟) ;3.获取所有记录$GLOBALS['db']->getAll($sql);4.执行sql语句$GLOBALS['db']->query($sql);//执行删除(DELETE),插入(INSERT),更新(UPDATE)等操作可用此方法5.把数组元素插入数据库$parent['goods_number'] = ‟1′;$parent['parent_id'] = 0;$GLOBALS['db']->autoExecute($GLOBALS['ecs']->table(…cart‟), $parent, …INSERT‟);基于此基础上就能轻松进行ecshop二次开发了。
ecshop二次开发详细解答
在ECSHOP会员中心实现物流跟踪或包裹跟踪(非jquery版)前些日子,本站已经发表过一篇讲述“在ECSHOP会员中心集成物流跟踪或快递跟踪功能”的文章,不过以前那个方法用到了 jquery 。
今日公布的这个教程是不用JQUERY的方法。
下面是具体的修改教程:1)、首先下载物流跟踪插件 ecshop_express.rar,点击这里下载将它下载到你网站根目录的 plugins 子目录中,然后右键点击 ecshop_express.rar 文件,选择 "解压到 ecshop_express " ,解压后 ecshop_express 子目录下应该只存在两个文件: express.php 、snoopy.php2)、以下修改是以官方默认模板为例,其他模板本文不做讲解,请自行对照解决。
打开 /themes/default/user_transaction.dwt 文件将{$order.invoice_no}修改为<b id="shipping_name">{$order.shipping_name}</b> <bid="invoice_no">{$order.invoice_no|strip_tags}</b>接着,将<!--{if $order.to_buyer}-->修改为至此,大功告成,是不是比那个使用JQUERY的方法还简单。
到后台订单里发布一个运单号去看一下效果吧,下面是我在自己网站测试的效果在Ecshop商品详情页的本店售价中显示当前登录会员的等级价格问题描述:会员登录状态下,在ECSHOP商品详情页的本店售价中显示当前登录会员对应的等级价格,在未登录状态下,则还默认显示原来的本店售价。
解决方法:这个需要修改ECSHOP程序代码来实现。
其实也非常简单,只需要修改一行代码即可。
Ecshop二次开发
Ecshop二次开发,增加用户订单编辑功能/post/74.htmlEcshop是一款开源免费的网上商店系统。
功能很强大,但是也有很多的不足,不过幸好该系统是开源的,可以自己修改扩展进行ecshop二次开发。
呵呵,下面就介绍一下怎么我扩展用户的订单编辑功能。
第一步:准备模版文件。
修改模板文件中的user_transaction.dwt。
在文件中增加一段用户显示用户编辑订单的界面模版,其实该模版可以从该文件中的详细订单显示界面模板修改过来,只要截取商品列表和费用总计部分就好!1、搜索”<!– {if $allow_to_cart} –>”,在该代码的前面加入:<!– {if $allow_to_modify} –><a href="user.php?act=modify&order_id={$order.order_id}">编辑订单</a><!– {/if} –>2、搜索“<!– #BeginLibraryItem "/library/help.lbi" –>”,在其之前加入:<!–修改订单–><!–{if $action eq "modify"} –>{insert_scripts files=‟transport.js‟}<div class="titles">修改订单</div><div class="listbox"><form action="user.php" name="list" method="post"><table width="100%" id="orderlist2"><tr><th>{$lang.goods_name}</th><th>{$lang.goods_attr}</th><th align="right">{$lang.goods_price}<!–{if $order.extension_code eq "group_buy"} –>{$lang.gb_deposit}<!– {/if} –></th><th width="60px;" style="text-align:center">{$lang.number}</th><th width="60px;" class="rightborder">{$lang.subtotal}</th><th width="60px;" class="rightborder">操作</th></tr><!– {foreach from=$goods_list item=goods} –><tr><td><a href="goods.php?id={$goods.goods_id}" target="_blank">{$goods.goods_name}</a><!– {if $goods.parent_id > 0} –><span style="color:#FF0000">({$lang.accessories})</span><!– {elseif $goods.is_gift} –><span style="color:#FF0000">({$rgess})</span><!– {/if} –></td><td>{$goods.goods_attr|nl2br}</td><!–<td>{$goods.market_price}</td>–><td >{$goods.goods_price}</td><td ><input type=text name=good_number[{$goods.goods_id}] size=5 value="{$goods.goods_number}" style="text-align:center"></td><td class="rightborder">{$goods.subtotal}</td><td style="text-align:center;line-height:150%"><a href="javascript:if (confirm(‟你确定要删除该商品吗?‟)) location.href=‟user.php?act=modify&do=del&oid={$order.order_id}&bid={$goods.goods_id}‟; ">{$lang.drop}</a></td></tr><!– {/foreach} –><tr><td colspan="8" style="border-top:1px dotted #DADADA;text-align:right;">{$lang.shopping_money}<!–{if $order.extension_code eq "group_buy"} –>{$lang.gb_deposit}<!– {/if} –>: {$order.formated_goods_amount}</td></tr></table><table width="716" border="0" cellspacing="0" cellpadding="0"><tr><td width="300" height="50" align="center" valign="bottom"><input type="image" src="images/edit_button.gif" width="100" height="40" border="0" /></td><td width="416"> </td></tr></table><input type="hidden" name="do" value="update"><input type="hidden" name="act" value="modify"><input type="hidden" name="oid" value="{$order.order_id}"></form></div><div class="titles">费用总计</div><div class="listbox"><table width="100%" border="0" align="center" cellpadding="4" cellspacing="2"><tr><td align="right">{$lang.goods_all_price}<!–{if $order.extension_code eq "group_buy"} –>{$lang.gb_deposit}<!– {/if} –>: {$order.formated_goods_amount}<!– {if $order.discount gt 0} 折扣–>- {$lang.discount}: {$order.formated_discount}<!– {/if} –><!– {if $order.tax gt 0} –>+ {$lang.tax}: {$order.formated_tax}<!– {/if} –><!– {if $order.shipping_fee > 0} –>+ {$lang.shipping_fee}: {$order.formated_shipping_fee}<!– {/if} –><!– {if $order.insure_fee > 0} –>+ {$lang.insure_fee}: {$order.formated_insure_fee}<!– {/if} –><!– {if $order.pay_fee > 0} –>+ {$lang.pay_fee}: {$order.formated_pay_fee}<!– {/if} –><!– {if $order.pack_fee > 0} –>+ {$lang.pack_fee}: {$order.formated_pack_fee}<!– {/if} –><!– {if $order.card_fee > 0} –>+ {$lang.card_fee}: {$order.formated_card_fee}<!– {/if} –></td></tr><tr><td align="right"><!– {if $order.money_paid > 0} –>- {$lang.order_money_paid}: {$order.formated_money_paid}<!– {/if} –><!– {if $order.surplus > 0} –>- {$e_surplus}: {$order.formated_surplus}<!– {/if} –><!– {if $order.integral_money > 0} –>- {$e_integral}: {$order.formated_integral_money}<!– {/if} –><!– {if $order.bonus > 0} –>- {$e_bonus}: {$order.formated_bonus}<!– {/if} –></td></tr><tr><td align="right" style="border-top: 1px dotted #DADADA">{$lang.order_amount}: {$order.formated_order_amount}<!–{if $order.extension_code eq "group_buy"} –><br />{$lang.notice_gb_order_amount}<!– {/if} –></td></tr><!– {if $allow_edit_surplus} 如果可以编辑使用余额数–><tr><td align="right" style="border-top: 1px dotted #DADADA"><form action="user.php" method="post" name="formFee" id="formFee">{$e_more_surplus}:<input name="surplus" type="text" size="8" value="0" />{$max_surplus}<input type="submit" name="Submit" value="{$lang.button_submit}" /><input type="hidden" name="act" value="act_edit_surplus" /><input type="hidden" name="order_id" value="{$smarty.get.order_id}" /> </form></td></tr>{/if}</table></div><!–{/if}–><!–#修改订单–>第二步、编辑user.php文件1、在$ui_arr 中加入"modify“.* 显示页面的action列表*/$ui_arr = array(‟register‟, …login‟, …profile‟, …order_list‟, …modify…,‟order_detail‟, …address_list‟, …collection_list‟,'message_list‟, …tag_list‟, …get_password‟, …reset_password‟, …booking_list‟, …add_booking‟, …account_raply‟,'account_deposit‟, …account_log‟, …account_detail‟, …act_account‟, …pay‟, …default‟, …bonus‟, …group_buy‟, …group_buy_detail‟, …affiliate‟, …comment_list‟,'validate_email‟,'track_packages‟, …transform_points‟);2、在下面所示代码中,增加$smarty->assign(‟allow_to_modify‟,1);/* 未发货,未付款时允许更换支付方式和修改订单*/if ($order['order_amount'] > 0 && $order['pay_status'] == PS_UNPAYED && $order['shipping_status'] == SS_UNSHIPPED){$payment_list = available_payment_list(false, 0, true);$smarty->assign(‟allow_to_modify‟,1);3、在“//删除订单中的商品”的方面,加入下载代码:/*修改订单*/elseif($action==‟modify‟){function multiArraySearch($needle, $haystack){$value = false;$x = 0;foreach($haystack as $temp){// print_r($temp);$search = array_search($needle, $temp);if (strlen($search) > 0 && $search >= 0){$value[0] = $x;//$value[1] = $search;}$x++;}return $value;}include_once(ROOT_PATH . …includes/lib_transaction.php‟);include_once(ROOT_PATH . …includes/lib_payment.php‟);include_once(ROOT_PATH . …includes/lib_order.php‟);include_once(ROOT_PATH . …includes/lib_clips.php‟);if($_REQUEST['do']=="del"){$oid=$_REQUEST['oid'];$gid=$_REQUEST['bid'];$sql="select goods_price,goods_number from ".$ecs->table("order_goods")." where goods_id=$gid";$result=$db->getrow($sql);$order = get_order_detail($oid, $user_id);//取得订单$sql="delete from ".$ecs->table("order_goods")." where goods_id=$gid and order_id=$oid";//删除商品$db->query($sql);$sql="select configure from ".$ecs->table("shipping_area")." where shipping_id=".$order['shipping_id'];$shipping_fee=$db->getrow($sql);$tempa=unserialize($shipping_fee['configure']);$shipping=multiArraySearch("free_money",$tempa);$free_money=$tempa[$shipping[0]]['value'];//找出免运费的额度$market_price=$order['goods_amount']-$result['goods_price']*$result['goods_number'];$inv_id=array_search($order['inv_type'],$GLOBALS['_CFG']['invoice_type']['type']);$rate= floatval($GLOBALS['_CFG']['invoice_type']['rate'][$inv_id])/100;$tax=$order['tax']-($result['goods_price']*$result['goods_number'])*$rate;$addpay_fee=pay_fee($order['pay_id'],$result['goods_price']*$result['goods_number']);//删除的支付费用$pay_fee=$order['pay_fee']-$addpay_fee;$order_amount=$market_price-$discount+$tax+$pay_fee;$shipping_fee=$order['shipping_fee'];if($market_price>=$free_money){$order_amount=$order_amount-$shipping_fee;$shipping_fee="0.00";}else{if($shipping_fee<=0){$shipping=multiArraySearch("basic_fee",$tempa);$shipping_fee=$tempa[$shipping[0]]['value'];//找出基本运费的$order_amount=$order_amount+$shipping_fee;}}//更新订单信息$sql="update ".$ecs->table("order_info")." set goods_amount=‟".$market_price."‟,discount=‟".$discount."‟,shipping_fee=‟".$shipping_fee."‟,tax=‟".$tax."‟ ,pay_fee=‟".$pay_fee."‟,order_amount=‟".$order_amount."‟ where order_id=$oid";$db->query($sql);$order = get_order_detail($oid, $user_id);//再一次查检订单参数if($order['goods_amount']<=0){$sql="delete from ".$ecs->table("order_info")." where order_id=$oid";$db->query($sql);ecs_header("Location: user.php?act=order_list");exit();}ecs_header("Location: user.php?act=modify&order_id=".$oid);exit();}if($_REQUEST['do']=="update"){//更新商品数量$oid=$_REQUEST['oid'];$gid=$_REQUEST['bid'];$nums=$_REQUEST['good_number'];foreach($nums as $gid=>$num){$sql="select goods_price,goods_number from ".$ecs->table("order_goods")." where goods_id=$gid";$result=$db->getrow($sql);$order = get_order_detail($oid, $user_id);//取得订单$sql_storage = "SELECT goods_name,goods_number FROM " .$ecs->table(‟goods‟). " WHERE goods_id = $gid";$storage_num = $db->getRow($sql_storage);//库存if($result['goods_number']==$num){continue;}elseif($num<=0){show_message("对不起,您修改的商品数量不能为0,或小于0!", "返回", …user.php?act=modify&order_id=‟.$oid, …error‟);exit();}elseif ($num>$storage_num['goods_number']){show_message("对不起,您修改的商品数量不能大于该商品:".$storage_num['goods_name'].",库存数:".$storage_num['goods_number']."!", "返回", …user.php?act=modify&order_id=‟.$oid, …error‟);exit();}$addnum=$num-$result['goods_number'];$sql="update ".$ecs->table("order_goods")." set goods_number=".$num." where goods_id=$gid and order_id=$oid";//添加商品$db->query($sql);$sql="select configure from ".$ecs->table("shipping_area")." where shipping_id=".$order['shipping_id'];$shipping_fee=$db->getrow($sql);$tempa=unserialize($shipping_fee['configure']);$shipping=multiArraySearch("free_money",$tempa);$free_money=$tempa[$shipping[0]]['value'];//找出免运费的额度$market_price=$order['goods_amount']+$result['goods_price']*$addnum; //修改后商品总价格$inv_id=array_search($order['inv_type'],$GLOBALS['_CFG']['invoice_type']['type']);$rate=floatval($GLOBALS['_CFG']['invoice_type']['rate'][$inv_id])/100;$tax=$order['tax']+($result['goods_price']*$addnum)*$rate;//修改后税额$addpay_fee=pay_fee($order['pay_id'],$result['goods_price']*$addnum- $school_dis);//支付费用$pay_fee=$order['pay_fee']+$addpay_fee;$order_amount=$order['order_amount']+($result['goods_price']*$addnum)-$school_dis+($result[' goods_price']*$addnum)*$rate+$addpay_fee;//修改后订单总额$shipping_fee=$order['shipping_fee'];if($market_price>=$free_money){$order_amount=$order_amount-$shipping_fee;$shipping_fee="0.00";}else{if($shipping_fee<=0){$shipping=multiArraySearch("basic_fee",$tempa);$shipping_fee=$tempa[$shipping[0]]['value'];//找出基本运费的$order_amount=$order_amount+$shipping_fee;}}//更新订单信息$sql="update ".$ecs->table("order_info")." set goods_amount=‟".$market_price."‟,discount=‟".$discount."‟,shipping_fee=‟".$shipping_fee."‟,tax=‟".$tax."‟,pay_fee=‟".$pay_fee."‟ ,order_amount=‟".$order_amount."‟ where order_id=$oid";$db->query($sql);}$order = get_order_detail($oid, $user_id);//再一次查检订单参数if($order['goods_amount']<=0){$sql="delete from ".$ecs->table("order_info")." where order_id=$oid";$db->query($sql);ecs_header("Location: user.php?act=order_list");exit();}ecs_header("Location: user.php?act=order_detail&order_id=".$oid);exit();}$order_id = isset($_GET['order_id']) ? intval($_GET['order_id']) : 0;$order = get_order_detail($order_id, $user_id);/* 订单商品*/$goods_list = order_goods($order_id);foreach ($goods_list AS $key => $value){$goods_list[$key]['market_price'] = price_format($value['market_price'], false);$goods_list[$key]['goods_price'] = price_format($value['goods_price'], false);$goods_list[$key]['subtotal'] = price_format($value['subtotal'], false);}$smarty->assign(‟order‟, $order);$smarty->assign(‟goods_list‟, $goods_list);$smarty->display(‟user_transaction.dwt‟);}。
ecshop订单快递单批量打印二次开发教程
ecshop 订单快递单批量打印二次开发教程教程开始: 1.admin\templates\order_list.htm ,在1 <input name="print" type="submit" id="btnSubmit4" value="{$lang .print_order}" class="button" disabled="true" onclick="this.for m.target = '_blank'" />后,添加1 <input name="print_shopping" type="submit" id="btnSubmit6" valu e="批量打印快递单" class="button" disabled="true" onclick="this.form.target = '_blank'" />2.admin\order.php ,在1 2 /* 去发货 */elseif (isset($_POST['to_delivery']))前,添加//批量打印快递单elseif (isset($_POST['print_shopping'])){$region_array = array();$region_id = !empty($_CFG['shop_country']) ? $_CFG['shop_country'] . ',' : '';$region_id .= !empty($_CFG['shop_province']) ? $_CFG['shop _province'] . ',' : '';$region_id .= !empty($_CFG['shop_city']) ? $_CFG['shop_city'] . ',' : '';$region_id = substr($region_id, 0, -1);$region = $db->getAll("SELECT region_id, region_name FR OM " . $ecs->table("region") . " WHERE region_id IN ($region_id )");if (!empty($region)){foreach($region as $region_data){$region_array[$region_data['region_id']] = $region_data['reg ion_name'];}}$smarty->assign('shop_name', $_CFG['shop_name']);$smarty->assign('province', $region_array[$_CFG['shop_pro vince']]);$smarty->assign('city', $region_array[$_CFG['shop_city']]);$smarty->assign('shop_address', $_CFG['shop_address']);$smarty->assign('service_phone',$_CFG['service_phone']);//以上是系统参数$order_sn_list = array();$order_sn_list = explode(',', $_POST['order_id']);foreach ($order_sn_list as $order_sn){/* 取得订单信息 */$order = order_info(0, $order_sn);$smarty -> assign('order',$order);$shipping = $db->getOne("SELECT * FROM " . $ecs->table( "shipping") . " WHERE shipping_id=" . $order['shipping_id']);if (empty($shipping['shipping_print'])){echo $smarty->fetch("str:" . $shipping['shipping_print']);}else{$shipping_code = $db->getOne("SELECT shipping_code FR OM " . $ecs->table('shipping') . " WHERE shipping_id=" . $order[ 'shipping_id']);if ($shipping_code){include_once(ROOT_PATH . 'includes/modules/shipping/' . $ shipping_code . '.php');}if (!empty($_LANG['shipping_print'])){echo $smarty->fetch("str:$_LANG[shipping_print]");}else{echo $_LANG['no_print_shipping'];}}}exit;}3.这是最重要的一点,其他地方根本没说过,害得作者君我折腾了两三天。
ECSHOP数据库结构详细说明
ECSHOP数据库结构详细说明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 '广告联系人的电话',`click_count` mediumint(8) unsigned NOT NULL DEFAULT '0' COMMENT '该广告点击数',`enabled` tinyint(3) unsigned NOT NULL DEFAULT '1'COMMENT '该广告是否关闭,1,开启;0,关闭;关闭后广告将不再有效,直至重新开启',PRIMARY KEY (`ad_id`),KEY `position_id` (`position_id`),KEY `enabled` (`enabled`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='广告列表配置表,包括站内站外的图片,文字,flash,代码广告' AUTO_INCREMENT=6 ;-- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------表的结构`ecs_admin_action`==管理权限分配(父类ID,权限代码)CREATE TABLE IF NOT EXISTS `ecs_admin_action` (`action_id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID号',`parent_id` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '该id项的父id,对应本表的action_id字段', `action_code` varchar(20) NOT NULL COMMENT '代表权限的英文字符串,对应汉文在语言文件中,如果该字段有某个字符串,就表示有该权限',PRIMARY KEY (`action_id`),KEY `parent_id` (`parent_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='管理员权限列表树' AUTO_INCREMENT=104 ;-- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------表的结构`ecs_admin_log`==管理日志(登陆时间,登陆管理员ID,操作描述,IP)CREATE TABLE IF NOT EXISTS `ecs_admin_log` (`log_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID号',`log_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '写日志时间',`user_id` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '该日志所记录的操作者id,同ecs_admin_user的user_id',`log_info` varchar(255) NOT NULL COMMENT '管理操作内容', `ip_address` varchar(15) NOT NULL COMMENT '管理者登录ip', PRIMARY KEY (`log_id`),KEY `log_time` (`log_time`),KEY `user_id` (`user_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='管理员操作日志表' AUTO_INCREMENT=158 ;-- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------表的结构`ecs_admin_message`==管理员留言(发送者ID,接收者ID,发送日期,阅读日期,是否已读,是否删除,标题,内CREATE TABLE IF NOT EXISTS `ecs_admin_message` (`message_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID号',`sender_id` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '发送该留言的管理员id,同ecs_admin_user的user_id', `receiver_id` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '接收消息的管理员id,同ecs_admin_user的user_id,如果是给多个管理员发送,则同一个消息给每个管理员id发送一条',`sent_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '留言发送时间',`read_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '留言阅读时间',`readed` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '留言是否阅读,1,已阅读;0,未阅读',`deleted` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '留言是否已经是否已经被删除,1,已删除;0,未删除', `title` varchar(150) NOT NULL COMMENT '留言的主题',`message` text NOT NULL COMMENT '留言的内容',PRIMARY KEY (`message_id`),KEY `sender_id` (`sender_id`,`receiver_id`),KEY `receiver_id` (`receiver_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='管理员留言记录表' AUTO_INCREMENT=7 ;-- -------------------------------------------------------- 表的结构`ecs_admin_user`==管理员管理(用户名,email ,密码,加入时间,最后登陆时间,最后登陆IP,权限等)CREATE TABLE IF NOT EXISTS `ecs_admin_user` (`user_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID号,管理员代号',`user_name` varchar(60) NOT NULL COMMENT '管理员登录名',`email` varchar(60) NOT NULL COMMENT '管理员邮箱',`password` varchar(32) NOT NULL COMMENT '管理员登录秘密加密串',`add_time` int(11) NOT NULL DEFAULT '0' COMMENT '管理员添加时间',`last_login` int(11) NOT NULL DEFAULT '0' COMMENT '管理员最后一次登录时间',`last_ip` varchar(15) NOT NULL COMMENT '管理员最后一次登录ip',`action_list` text NOT NULL COMMENT '管理员管理权限列表', `nav_list` text NOT NULL COMMENT '管理员导航栏配置项',`lang_type` varchar(50) NOT NULL,`agency_id` smallint(5) unsigned NOT NULL COMMENT '该管理员负责的办事处的id,同ecs_agency的agency_id字段。
商城系统iwebshop_二次开发(简单版)
商城系统iwebshop_二次开发(简单版)模板目录与初始文件模路径与文件在开始制作之前,我们先来了解下SHOP的模板路径与文件SHOP的模板文件与皮肤放置在不同的目录下模板存放在./templates目录下皮肤存放在./skin目录下下面针对默认模板做一下结构说明默认模板存放在./templates/default目录下1、模块文件,文件夹中存放着可重复调用文件、模块,一般有头部、底部、侧栏等2、框架文件,网站功能的整体框架页面对应的默认风格存放在./skin/default目录下1、文件夹中存放对应模板方案的图片、样式表、JS等文件初始文件新建立一套模板的方法,复制一份默认模板方案与默认风格文件夹,放在相应的目录内,给新模板起一个名字,把两个文件夹同时更改成该名称。
或者直接在./templates与./skin建立空的文件夹,然后把做好的html 页面按照iweb_sns 模板命名规则命名并存放到模板目录。
登陆后台→全局设置→模板管理,找到你刚才建立的新模板选择应用模板,这样你就可以启用新的风格了建立网站框架、划分结构以默认模板为例子下面是首页设计好的效果图,我们来做一下区域划分,与常规的制作一样,成静态页面后把公共的部分分离出来,常见的有头部、底部与侧栏,引用他们到框架,用这样的语句{inc: include("shop/独立出来的文件名");/}我们可以根据上面的划分,规划出简单的布局框架如下:{inc: include("shop/header.html");/}<div class=”main”><div class=”focus”></div><div class=”sidebar”></div><div class=”content”></div></div>{inc: include("shop/footer.html);/}这段代码放置于index.html内,调用了头部文件header.html与底部文件footer.html。
ECShop的二次开发
ECShop的二次开发目录ECShop的二次开发 (1)目录 (1)一phpStudy的安装与环境的搭建(本地php环境、mysql数据库环境、appache服务器) (2)二、安装ecshop (4)三、ecshop的二次开发 (6)一phpStudy的安装与环境的搭建(本地php环境、mysql数据库环境、appache服务器)1.如下图,可以看到该安装包集成了最新的apache 、php、mysql、phpmyadmin等多种开发环境。
直接点击“下一步”进行安装。
2.在此可以选择更换安装程序的路径,确定后点击“下一步”。
3.在此可以选择网站程序的路径,即你的网站php代码所在的目录。
确定后点击“下一步”。
4.在此可以看到该phpstudy安装包的组件,你可以在此进行配置。
缺省情况下不用做修改,点击“下一步”。
5.后面的步骤也不需配置,直接点“下一步”。
当你看到下图界面时,表示你也完成phpstudy的安装,点击“完成”介绍安装过程。
6.安装完成后,启动phpstudy,phpstudy程序的主界面如下图。
在此可以控制Apache服务器和Mysql服务器的启停。
同时也有Mysql管理器菜单和其它选项菜单对系统进行一些配置。
二、安装ecshop7.登录网址免费下载ecshop网店系统最新版本8.将下载好的压缩包解压后得到三个文件夹9.把upload这个文件夹里面的内容拷贝到php运行环境的根目录(要安装多个ecshop时直接把upload拷贝到php环境的根目录就行,upload文件夹可以被改成自己喜欢的名字)。
10.打开浏览器输入localhost(或者localhost/upload安装多个),回车,进入安装欢迎界面。
11.下一步,进入环境检测,全包所有模块可写。
、12.下一步,填写数据库配置和用户信息。
若要安装测试数据注意勾选相应选项。
13.安装完成下图为前台页面三、ecshop的二次开发1.进入管理后台,如下图所示。
ecshop模板使用简易说明
模板使用简易说明一、模板系统介绍Ecshop模板系统使用我们自行研发的模板控制系统和著名的PHP开源模板程序Smarty组合而成。
为了方便用户开发模板,还使用了Dreamweaver的模板和库的功能Smarty中文手册:/develop ... -docs-zh-CN/manual/二、模板设计原则二、模板系统文件结构Ecshop根目录/||->其它目录|->themes|->例:default (模板项目目录)|->images (模板图片目录)|->library (模板库目录)|-screenshot.png (模板预览图)|-style.css (模板所使用样式表)|-article.dwt (阅读文章)|-article_cat.dwt (文章列表)|-category.dwt (分类列表)|-compare.dwt (商品比较)|-gallery.dwt (商品图片)|-goods.dwt (商品)|-index.dwt (商城首页)|-respond.dwt (支付)|-secarch_result.dwt (搜索结果)|-shopping_flow.dwt (购物流程)|-snatch.dwt (夺宝奇兵)|-user.dwt (用户中心)各主要页面所用模块图例首页:index.dwt文章列表:article_cat.dwt文章显示:article.dwt商品分类:category.dwt商品比较:compare.dwt商品详情:goods.dwt搜索结果:search_result.dwt夺宝奇兵:snatch.dwtlibrary 说明articles.lbi - 文章列表article_info.lbi - 文章内容article_list.lbi - 文章列表best_goods.lbi - 精品推荐bought_goods.lbi - 购买过此商品的人购买过哪些商品brand_goods.lbi - 品牌的商品cart.lbi - 购物车cart_view.lbi - 查看购物车category_tree.lbi - 商品分类树cat_goods.lbi - 分类下的商品comments.lbi - 用户评论comment_form.lbi - 发表评论的表单consignee.lbi - 收货人信息fittings.lbi - 相关配件footer.lbi - 页脚gallery.lbi - 商品相册goods_detail.lbi - 商品详情goods_info.lbi - 商品基本信息goods_list.lbi - 商品列表help.lbi - 帮助内容history.lbi - 历史记录hot_goods.lbi - 热卖商品invoice_query.lbi - 发货单查询member.lbi - 会员登录区member_info.lbi - 会员信息nav_main.lbi - 主导航new_goods.lbi - 新品上架order_confirm.lbi - 订单确认order_detail.lbi - 订单详情order_view.lbi - 订单信息package_card.lbi - 包装和贺卡pages.lbi - 列表分页page_top.lbi - 页面顶部payment.lbi - 支付方式promotion.lbi - 促销商品properties.lbi - 商品属性register_login.lbi - 购物流程登录和注册related_goods.lbi - 相关商品search_advanced.lbi - 高级搜索表单search_form.lbi - 搜索表单search_result.lbi - 搜索结果shipping.lbi - 配送方式signin.lbi - 会员登录表单snatch_bid.lbi - 夺宝奇兵出价表单snatch_goods.lbi - 夺宝奇兵活动的商品snatch_list.lbi - 夺宝奇兵活动列表snatch_price.lbi - 夺宝奇兵价格列表snatch_result.lbi - 夺宝奇兵活动结果top10.lbi - 销售排行ur_here.lbi - 当前位置user_address.lbi - 会员中心收货人列表user_address_add.lbi - 会员中心添加收货人user_booking.lbi - 会员中心用户缺货登记user_booking_add.lbi - 会员中心用户添加缺货登记user_collect.lbi - 会员中心用户收藏夹user_forgetpassword.lbi - 会员中心找回密码。
ecshop二次开发思想
ecshop模板修改!!!!!!ECshop 模板制作教程(转) 收藏授人以鱼,不如授人以渔,EC 就算作再多的模板,肯定也满足不了我们的需要,更何况各行有各行的门道,EC 统一做出来的模板也不一定合适于我们这个行业用,因此,只有我们真正掌握了自己做模板、修改模板的功夫,才能真正的打造适合自己的电子商务平台,真正打造符合自己行业内的客户习惯的电子商务平台。
本教程适用于了解ECshop 和ECshop 模板DIY 以及它们的日常使用,在查看前阁下需要至少会使用一种编辑器(exp:Dreamweaver 、editplus 、emacs 、vi 、ee ... 意思就是可视化的html 编辑器或者直接文本编辑器,我在讲的时候用Dreamwaver 来讲,这样比较适合初学者和设计师)。
这个教程目前由我一个人维护,但我相信,过不了多久就会有多人持续地维护。
其中的内容需要不断地更新。
如果您有兴趣参加,嘿嘿,PM 我。
我们一起为大家服务啊。
通过对本教程的学习,只要您边看边跟着做,一定能够学会自己做模板的。
:)下列章节的适用于ECshop 程序。
同时这里许多内容和一些Smarty 相关。
假如您已经熟悉这些内容可跳过不阅读。
假如您是ECshop 新手并且想DIY 一下自己的店铺,那您应该认真详细地从头到尾读一遍下面章节。
(ps :大家不要紧张,我会尽量用人类的语言和大家交流,实在万不得已才会用机器语言展示给大家)希望大家能够通过本教程,想要什么模板都能自己做出来。
哈哈!一起加油吧!第一章ECshop 模板基础读取本部分内容,您将了解:☆每个前台页面所对应的模板页面,模板文件的目录结构。
☆一些最基本的ECshop 模板修改方法。
☆模板的路径以及相关包含文件的方法(深入了解Dreamweaver 模板制作)。
☆一些常用模板例子讲解。
模板存放路径:ecshop/themes/xxxxx 其中的xxxxx 就是某一套模板,如,系统一般会自带的模板文件名叫做default ,(即,ecshop/themes/default )里面放的就是安装时的默认模板,以下所有的说明都是针对默认模板来讲解。
ecshop二次开发,常用功能开发
ecshop二次开发,常用功能开发ecshop二次开发,常用功能开发1、ECSHOP 搜索智能提示(即联想功能)2、购物车动态更新,数量左右有+ - 点击即可实时改变价格,购买商品“加入购物车”,弹出特效窗口,购物车属性,加减号3、信任登陆:QQ、新浪微博、淘宝/支付宝等合作登录功能插件含后台设置功能(可选)4、ecshop自定义URL/链接,支持无限级目录,对提高SEO排名很有帮助、/thread-__-1-1.html5、Ecshop自动生成购买记录和评论插件6、物流跟综7、资讯站自动内链功能,在后台设置关键词,资讯站相关关键词可点到商品或分类8、简化购物流程购物流程整合成单页面运费无刷新变化所有操作在单页面完成,简化了购物流程,提高成交,将购物车、填写收货地址、物流方式和支付方式集成在一个页面上完成,9、ecshop 网站商品图片分步加载,(图片太多,加载会很慢,页面在第一屏就加载第一屏,拖动后自动加载),类似于京东,趣玩网的图片预加载..ecshop二次开发,常用功能开发。
ecshop二次开发,常用功能开发10、ECSHOP CPS 广告联盟插件,11、促销期内,每个用户最多只允许购买N 件。
不论你是昨天买的,还是今天买的,还是明天买的,也不论你下多少订单,只要是在促销期内,购买数量加在一起不能超过N 件。
这个数字N 可以在后台设置。
例如对商品A做促销活动,规定在2022年-01-01 至2022年-02-01 期间,每个用户最多只能购买2件,在这个时间段之前或在这个时间段之后购买的话,不做任何限制。
12、限时抢购(限时抢拍)、团购(两种方式:普通团购、满多少团购价减多少)、秒杀、买就送、倒计时功能13、ECSHOP优惠套餐插件,仿趣玩网,支持多套餐,支持勾选ecshop二次开发,常用功能开发14、实现用户名或Email都能登陆15、未注册等提示性跳转,以浮动层表现15、其它,如浮动返回到顶部、浮动客服等ecshop二次开发,常用功能开发怎样把ECSHOP商城系统中的相对地址变成带域名的绝对地址?答:我们一般所说的绝对地址(也有朋友称其为:完整地址)是页前台查看源文件时,在源文件中都所能看到的带域名的完整URL形式,比如:“a href=“/sitemap.xml "__/a”修改说明:这样修改的好处:也许很多朋友都非常想把以mon.php这个文件把return $uri;修改为return 'http:// /'.$uri;为什么我的ECSHOP首页和商品列表页中的商品缩略图很模糊,我应该怎么做,图片才会清晰呢?答:经常看到论坛里有人反映说首页或列表页的缩略图的质量不高,比较模糊......原因是因为ECSHOP生成缩略图时,用到的函数imagejpeg() 没有设置质量参数。
ECSHOP二次开发文档【文件结构和数据库表分析】
二次开发文档【文件结构和数据库表分析】文件结构文件架构说明*的结构图及各文件相应功能介绍的目录┣ 活动列表┣ 广告处理文件┣ 生成商品列表┣ 文章内容┣ 文章分类┣ 拍卖前台文件┣ 品牌列表┣ 生成验证码┣ 列出所以分类及品牌┣ 商品分类┣ 提交用户评论┣ 商品比较程序┣ 轮播图片程序┣ 生成程序┣ 购物流程┣ 商品相册┣ 商品详情┣ 生成商品列表┣ 团购商品前台文件┣ 首页文件┣ 支付配送┣ 选购中心┣ 处理收回确认的页面┣ 地区切换程序┣ 支付响应页面┣┣ 搜索程序┣ 文件┣ 夺宝奇兵前台页面┣ 标签云┣ 专题前台┣ 会员中心┣ 调查程序┣ 批发前台文件┣ 文件夹┃ ┣ 管理中心帐户变动记录┃ ┣ 记录管理员操作日志┃ ┣ 广告管理程序┃ ┣ 站外投放的统计程序┃ ┣ 广告位置管理程序┃ ┣ 程序说明┃ ┣ 程序说明┃ ┣ 管理中心办事处管理┃ ┣ 地区列表管理文件┃ ┣ 管理中心文章处理程序文件┃ ┣ 文章分类管理程序┃ ┣┃ ┣┃ ┣ 属性规格管理┃ ┣ 管理中心拍卖活动管理┃ ┣ 红包类型的处理┃ ┣ 管理中心品牌管理┃ ┣┃ ┣ 贺卡管理程序┃ ┣ 商品分类管理程序┃ ┣ 系统文件检测┃ ┣ 用户评论管理程序┃ ┣ 转换程序┃ ┣ 计划任务┃ ┣ 数据库管理┃ ┣ 易宝推荐┃ ┣ 管理中心语言项编辑(前台语言项) ┃ ┣ 邮件列表管理┃ ┣ 管理中心优惠活动管理┃ ┣┃ ┣ 综合流量统计┃ ┣ 友情链接管理┃ ┣ 生成显示商品的代码┃ ┣ 找回管理员密码┃ ┣ 商品管理程序┃ ┣┃ ┣ 商品批量上传、修改┃ ┣ 缺货处理管理程序┃ ┣┃ ┣ 商品类型管理程序┃ ┣ 管理中心团购商品管理┃ ┣ 客户统计┃ ┣ 控制台首页┃ ┣ 第三方程序会员数据整合插件管理程序┃ ┣┃ ┣ 管理中心模版管理程序┃ ┣ 管理中心管理员留言程序┃ ┣┃ ┣ 订单管理┃ ┣ 订单统计┃ ┣ 包装管理程序┃ ┣ 支付方式管理程序┃ ┣ 图片批量处理程序┃ ┣ 管理员信息以及权限管理程序┃ ┣ 销售概况┃ ┣ 销售明细列表程序┃ ┣ 商品销售排行┃ ┣ 搜索引擎关键字统计┃ ┣┃ ┣ 配送方式管理程序┃ ┣ 配送区域管理程序┃ ┣ 帮助信息管理程序┃ ┣ 网店信息管理页面┃ ┣ 管理中心商店设置┃ ┣ 站点地图生成程序┃ ┣ 短信模块之控制器┃ ┣ 夺宝奇兵管理程序┃ ┣ 管理程序。
Ecshop系统框架分析之二次开发要点
Ecshop系统框架分析之二次开发要点专业的网站策划队伍、专业的美工设计师。
丰富的制作经验和高超的创意水平,可根据您的企业的行业类型和产品特点设计出更加商业化、国际化的网站。
精益求精的网页制作人员、严谨的应用程序开发人员、尽善尽美的售后服务人员。
这一切,是我们为您提供专业网站建设服务前提。
进入互联网时代以来,建设网站、网站推广、网络营销、电子商务,成为众多中小企业寻求快速发展,建立竞争优势的一个重要途径。
品界科技提供网页制作、网页优化、网站推广一条龙服务。
我们在您的网站建设之初即提供网站优化服务,我们按搜索引擎的搜索习惯来设计建设您的网站,使您的网站在建设完成后即完成了网站优化任务,大大提升您网站在搜索引擎中的竞争优势。
首页 >> 网站建设 >> Ecshop系统框架分析之二次开发要点Ecshop系统框架分析之二次开发要点品界做网站建设时商城做得多了,经常用到ECSHOP程序,毕竟是免费开源的,很多地方需要进行二次开发才能符合客户的要求,现在把一些二次开发必须要先弄懂的要点总结如下(内容为转载整理)。
一、整体框架结构:整个系统是层结构,有数据层及外观层组成。
比如,我们index.php是外观层(和用户打交道的层),include目录下的lib_goods.php是数据层(跟数据库打交道的)。
拿推荐产品来说吧,在index.php是对数据层get_recommend_goods('new')函数的调用。
二、重要目录:首先大多前台程序是在根目录下的,对应的英文就是对应的显示页面admin:是我们后台的文件夹,后台的模板文件是在下一层的templates里。
这里我强调几个后台文件,首先需要了解init.php文件,这个是对后台session的访问权限及调用模板的路径等功能的设置;第二个文件是inc_menu.php这是定义功能菜单文件,看到论坛有人要把后台一些功能去掉,你就可以改这文件把里面的一些模块删了即可。
Ecshop二次开发之自定义库文件和模板数据调用实例-电脑资料
Ecshop二次开发之自定义库文件和模板数据调用实例-电脑资料这篇文章主要为大家介绍了Ecshop二次开发之自定义库文件和模板数据调用方法,是进行ecshop二次开发中非常实用的重要技巧,涉及底层库文件的修改与应用,需要的朋友可以参考下本文实例讲述了Ecshop二次开发之自定义库文件和模板数据调用方法,。
分享给大家供大家参考。
具体方法如下:Smarty的标签非常多,也比较繁琐,所以Ecshop使用了精简版的Smarty,其中用到的Smarty模板语法:{$keywords} 输出模板变量{$array.test.abc} 输出二维数组{$lang.remark_package} 语言包$lang[remark_package]{insert_scripts files=‘common.js‘} 引入js文件xxxx 循环xxxx 判断引入goods_tags.lbi库文件,相当于PHP的include{*内容*} html注释,只在模板上显示,页面上会被删除掉.Ecshop二次开发的数据调用,主要动用到以下两个目录下的文件dwt(模板文件)路径: themes\\defaultlbi(库文件)路径: themes\\default\\library举个例子就很清楚了,是我从网上找来的,由于转载得很严重,所以不知道真正出处。
我们在themes\\default\\library下新建一个名为newest_comments.lbi的库文件,写入以下内容:代码如下:if(!function_exists("get_new_comments")){function get_new_comments($num){$sql = ‘SELECT * FROM ‘.$GLOBALS[‘ecs‘]->table(‘comment‘) .‘ WHERE status = 1 AND parent_id = 0 and comment_type=0 ‘.‘ ORDER BY add_time DESC‘;if ($num > 0){$sql .= ‘ LIMIT ‘ . $num;}//echo $sql;$res = $GL OBALS[‘db‘]->getAll($sql);$comments = array();foreach ($res AS $idx => $row){$comments[$idx][‘add_time‘] = $comments[$idx][‘add_time‘] = local_date($GLOBALS[‘_CFG‘][‘time_format‘],$row[‘add_time‘]);$comments[$idx][‘user_name‘] = $row[‘user_name‘];$comments[$idx][‘content‘] = $row[‘content‘];$comments[$idx][‘id_value‘] = $row[‘id_value‘];}return $comments;}}$this->assign(‘new_comments‘,get_new_comments(10)); // 10条最新评论>{$comment.content|truncate:15:""}时间:{$comment.add_time}这样一个库文件就做好了,电脑资料《Ecshop二次开发之自定义库文件和模板数据调用实例》(https://www.)。
ecshop数据库表结构说明书完整版
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 网上商店管理系统,简称ECShop1.2.2. 软件功能1.前台:用户注册模块、用户登录模块、用户中心模块、购物车管理模块、商品展示模块、留言板模块。
(1)前台会员注册客户想要进行网上购物就必须先进行注册(当然作为游客购物,可以直接联系管理进行购物)(2)前台会员登录客户想要购买商品需要先进行登录(3)用户中心此模块包括欢迎页、用户信息、我的订单、收货地址、我的留言、缺货登记、我的评论、资金管理、我的积分。
ecshop二次开发经验讲座
ecshop程序的基本结构和介绍-讲座1ecshop程序的基本结构, ecshop其实算是结构化的程序设计。
不算是三层结构.ecshop 主要采用的是ecshop自写的非标准化smarty模板引擎来实现的。
ecshop模板的核心程序在includes/cls_template.php.将来我们将会详细讲述eshop模板结构的原理.有关模板制作的教程,可以参考以下路径/html/dianzishangwujiaocheng/ecshoptemplate/inde x.htmlecshop有一个安装的过程,除了配置一些模板信息,测试数据外。
最重要的是规划好了模板的引用,以及数据库相关的配置信息。
ecshop的模板位置于themes目录.ecshop 系统的配置文件信息位置于data/config.php文件。
ecshop处理整站程序的文件在includes目录里面.既然谈到了ecshop的模板引擎。
那么一定要说说ecshop 的缓存目录。
位于temp目录.ecshop可以有不同的语言版本,他是靠语言包languages目录来控制的。
ecshop默认的后台路径位置与admin目录,他是整个后台管理的核心.有朋友问我,如果修改ecshop浏览器里面显示的小推车图标.很简单,他就是根目录下的favicon.ico文件。
你将他喜欢修改就可以.大家都知道ecshop最大的特点是支持wap访问,所以mobile目录理所当然的就是wap程序所在的目录。
如果要让ecshop支持wap访问,很简单。
我们必须在ecshop后台的系统设置里面,wap设置里面开启wap功能就可以了。
ecshop初始化文件init.php组成和工作原理-讲座2ecshop初始化文件组成和工作原理,大家都知道,ecshop核心处理文件是在includes目录里面,包括ecshop支付插件,ecshop功能函数公共函数文件,ecshop配送方式插件等.甚至包括ecshop模板解析文件cls_template.php文件.ecshop中各个文件的初始化,引用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 模板文件我的配送页不可更改pick_out.dwt 模板文件选购中心页不可更改quotation.dwt 模板文件报价单页不可更改receive.dwt 模板文件收货确认信息页不可更改respond.dwt 模板文件在线支付结果提示信息页不可更改search.dwt 模板文件商品搜索页不可更改snatch.dwt 模板文件夺宝奇兵页不可更改tag_cloud.dwt 模板文件标签云页不可更改topic.dwt 模板文件专题前台页不可更改user_clips.dwt 模板文件用户中心页(包含:欢迎页,我的留言,我的标签,收藏商品,缺货登记列表,添加缺货登记。
)不可更改user_passport.dwt 模板文件用户安全页(包含:会员登录,会员注册,找回密码。
)不可更改user_transaction.dwt 模板文件用户中心页(包含:个人资料,我的红包,添加红包,我的订单,订单详情,合并订单,订单状态,商品列表,费用总计,收货人信息,支付方式,其他信息,会员余额。
)不可更改wholesale_list.dwt模板文件批发方案页不可更改备注:库文件共52个(格式.lbi)提醒:文件名尽量保存默认,否则在后台管理将无法管理库文件或不可预见错误。
ad_position.lbi 库文件广告位不可更改article_category_tree.lbi 库文件文章分类树不可更改auction.lbi 库文件拍卖商品不可更改bought_goods.lbi 库文件购买过此商品的人购买过哪些商品不可更改brand_goods.lbi 库文件品牌的商品不可更改brands.lbi 库文件品牌专区不可更改cart.lbi 库文件购物车不可更改cat_articles.lbi 库文件文章列表不可更改cat_goods.lbi 库文件分类下的商品不可更改category_tree.lbi 库文件商品分类树不可更改categorys.lbi 库文件商品分类不可更改comments.lbi 库文件用户评论列表(ajax载入comments_list.lbi库文件。
)不可更改comments_list.lbi 库文件用户评论内容不可更改consignee.lbi 库文件收货地址表单不可更改email_list.lbi 库文件前台邮件订阅不可更改filter_attr.lbi 库文件属性筛选不可更改goods_article.lbi 库文件相关文章不可更改goods_attrlinked.lbi 库文件属性关联的商品不可更改goods_fittings.lbi 库文件相关配件不可更改goods_gallery.lbi 库文件商品相册不可更改goods_list.lbi 库文件商品列表不可更改goods_related.lbi 库文件相关商品不可更改goods_tags.lbi 库文件商品标记不可更改group_buy.lbi 库文件首页团购商品不可更改help.lbi 库文件网店帮助不可更改history.lbi 库文件商品浏览历史不可更改invoice_query.lbi 库文件发货单查询不可更改member.lbi 库文件会员登录(ajax载入member_info.lbi库文件。
) 不可更改member_info.lbi 库文件会员登录表单和登录成功以后用户账户信息不可更改message_list.lbi 库文件留言列表不可更改myship.lbi 库文件配送方式不可更改new_articles.lbi 库文件最新文章不可更改online.lbi 库文件统计在线人数不可更改order_query.lbi 库文件前台订单状况查询不可更改order_total.lbi 库文件订单费用总计不可更改page_footer.lbi 库文件页面脚部不可更改page_header.lbi 库文件页面顶部不可更改pages.lbi 库文件列表分页不可更改price_grade.lbi 库文件价格范围不可更改promotion_info.lbi 库文件促销信息不可更改recommend_best.lbi 库文件精品推荐不可更改recommend_hot.lbi 库文件热卖商品不可更改recommend_new.lbi 库文件新品推荐不可更改recommend_promotion.lbi 库文件促销商品不可更改relatetag.lbi 库文件其他应用关联标签数据不可更改snatch.lbi 库文件夺宝奇兵出价表单(必须被id="ECS_SNA TCH"包含实现ajax刷新。
)不可更改snatch_price.lbi 库文件夺宝奇兵最新出价列表(必须被id="ECS_PRICE_LIST"包含实现ajax刷新。
)不可更改top10.lbi 库文件销售排行不可更改ur_here.lbi 库文件当前位置不可更改user_menu.lbi 库文件用户中心菜单不可更改vote.lbi 库文件调查不可更改vote_list.lbi 库文件在线调查不可更改ecshop标签集先从index.php主页开始页面关键字{$keywords }页面标题{$page_title}产品分类父分类列表{foreach from=$categories item=cat }父分类超链接[url==”{$cat.url}”>{$|escape:html}</a>相对应子分类{foreach from=$cat.children item=child}子分类超链接[url==”{$child.url}”>{$|escape:html}</a>[=#ff0000]促销产品{if $promotion_info} 检验是否存在促销产品,不存在就不显示相关信息促销产品列表{foreach from=$promotion_info item=item key=key}里面还有很多标签,没弄明白,以后在添加,修改[=#ff0000]订单查询{if empty($order_query)} 同上看下就知道了订单用户ID {if $order_er_id}订单数量{$lang.order_number}订单编号{$order_query.order_sn}里面还有很多标签,没弄明白,以后在添加,修改[=#ff0000]发货查询{if $invoice_list} 当有完成的订单测显示发货列表{foreach from=$invoice_list item=invoice}订单号名称{$lang.order_number}订单号{$invoice.order_sn}发货单名称{$lang.consignment}发货单号{$invoice.invoice_no}[=#ff0000]销售排行{if $top_goods} 看看就知道销售列表{foreach name=top_goods from=$top_goods item=goods}产品短名称{$goods.short_name}看例子:<!–{foreach name=top_goods from=$top_goods item=goods}–><li class=”top10-li-{$smarty.foreach.top_goods.iteration}”> [url==”{$goods.url}”title=”{$|escape:html}”>{$goods.short_name}</a></li><!–{/foreach}–>精品推荐{if $best_goods}精品推荐列表{foreach from=$best_goods item=goods}市场价名称{$lang.market_price}市场价价格{$goods.market_price}促销价名称{$lang.promote_price}促销价价格{$goods.promote_price}商店价名称{$lang.shop_price}商店价价格{$goods.shop_price}大家看到了吗??{$lang.xxxx_xxxx}以lang开头的为相对应的名称{$goods.xxxx_xxxx}以goods开头的为价格{$page_title} 网站标题{$keywords} 网站关键字标签{$description} 网站描述标签{$shop_notice} 商店公告$new_articles 新文章{$article.short_title} 调用文章标题{foreach from=$new_articles item=article} 循环的开始,{/foreach} 循环的结束item --> 具体意义和用法?表格一行一行的循环<table>{foreach from=$new_articles item=article}<tr><td>{$article.short_title}</td></td>{/foreach}</table>from=$best_goods 表示循环的内容来自$best_goods$best_goods 精品商品推荐的标签{$goods.short_style_name} 表示goods 这个对象的商品名称$new_goods 新品上市$hot_goods 热卖商品$categories 分类的标签$goods_list 商品标签商品图片: <img src= {$goods.goods_img} />商品名称:{$goods.goods_style_name}商品货号:{$goods.goods_sn}<br>商品品牌: {$goods.goods_brand}商品数量:{$goods.goods_number}单位:{$goods.measure_unit}添加时间:{$goods.add_time}市场价格:{$goods.market_price}本店价格:{$goods.shop_price_formated}注册用户价格:{$rank_price.price}注册用户价格:{$rank_price.price}注册用户价格:{$rank_price.price}商品id为1的商品http://localhost/ecshop/goods.php?id=1邮件模板管理商城在进行某些操作时可以向用户发送邮件提示。