ecshop学习教程
ECshop模板制作教程

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

ECSHOP网店支付方式设置教程
本文导读:
经常有朋友会问到,有关后台支付方式的设置,下面就由68ecshop模板中心为您详细解说一下:
下面的截图是我们为您录制的ecshop视频教程部分截图:
后台系统设置—支付方式,这时候您就可以根据您的需求选择您需要的支付方式了,下面以支付宝支付方式为例和您详细解说一下。
第一步:获得合作身份者ID、交易安全校验码
登陆支付宝,点击导航栏中“商家服务”,找到“合作身份(Partner ID)查询”与“安全校验码(Key)查询”。
页面显示如下界面,
第二步:进入网店后台系统设置
点击-系统设置—支付方式,找到“支付宝”,点击“安装”,打开如下界面:
分别在支付宝账户、交易安全校验码、合作身份者ID三个填写框中,输入相对应的支付宝信息。
根据签约的合同服务类型,在“选择接口类型”下拉框中,选择对应的服务类型。
如果您现在还无法操作,您可以直接联系支付宝官方,来帮您申请服务。
注意:填写的支付宝账号必须在支付宝网站开通了实物或者虚拟商品的交易权限。
您也可以选择编辑或者卸载您不需要的支付方式
请看下面的图,为您更好的了解有关ecshop支付方式的选择。
Ecshop教程_在首页或列表页显示商品简单描述

Ecshop教程_在首页或列表页显示商品简单描述
熟悉ECSHOP的朋友都知道,在后台商品编辑的地方有一个录入“商品简单描述”的框框,
但是录入的“商品简单描述”没有很好的在前台显示出来,而只是在商品详细页的 description 里,供搜索引擎读取。
有用户问了,我想在其他页面(例如首页或者列表页)把这个“商品简单描述”显示出来,该怎么办呢?
下面说一下修改教程(以 2.7.2版官方默认模板为例):
1、在ECSHOP首页显示商品简单描述:
依次打开/themes/default/library/recommend_hot.lbi ,/themes/default/library/recommend_new.lbi ,/themes/default/library/recommend_best.lbi 文件
对每个文件都执行如下操作:
找到
在它上面增加一行
再打开/themes/default/library/recommend_promotion.lbi 文件
找到
在它上边增加一行
2、在ECSHOP列表页显示商品简单描述:
关于列表页,显示模式为“list” 和“text” 的时候,已经有“商品简单描述” 的显示了。
只是在显示模式为“grid”的时候没有显示罢了,下面给“grid” 模式也增加一下:
打开 /themes/default/library/goods_list.lbi 文件
找到
在它下面增加。
ecshop 手机客户端操作教程

AppCan-EC 电商插件安装说明AppCan-EC for ECshop V1.0目录1.插件使用流程 (2)2. 安装插件 (2)3. 启动插件 (4)4. 生成应用 (4)5. 生成设置 (5)6. 管理应用 (7)7. 重新生成 (8)8. 数据统计 (8)9. 应用推广 (9)10. 推广设置 (10)插件使用说明1.插件使用流程2.安装插件放置安装包下载插件安装包,解压插件安装包后,把解压后的文件夹放在该路径下(如图),所有插件安装文件将统一放置在…/plugins中,先登录后台再在URL地址键入…/plugins/zywx/check.php启动检测。
(注意不可更改插件文件名称,否则不可用)安装检测安装前进行检测,检测数据库表结构是否和本版本表结构相同,有差别会出现提示。
现版本只对应EC V2.7.2,其他版本会检测不通过,请站长们注意。
点击安装,自动识别管理目录下文件,安装完成。
3.启动插件安装完毕后,在插件列表中将出现应用管理,点击即可进行操作。
4.生成应用风格设置自定义应用风格色彩,可选择系统默认色彩或手动选择喜欢的色彩,顶部导航会根据选择颜色进行配色。
点击下一步保存当前设置并进入生成设定页面。
5.生成设置应用名称和图标:设置应用在手机中显示的名称(建议6个字以内)。
设置用于在手机中显示的图标(icon),可上传本地图标用于应用(也可选择提供的默认图标)。
设置应用启动页:初始为系统默认启动页。
为了一张启动页适配各手机屏幕分辨率提高应用运行速度,可通过设置背景色和上传LOGO图的形式进行配置启动页,为保证各分辨率手机适配,上传LOGO 图建议480*480像素。
生成平台选择:选择所要生成的平台,支持iOS系统和Android系统,并编辑应用介绍(非必填)。
点击下一步保存当前设置并后台自动生成应用,应用生成完毕后将出现在管理应用页面,系统将自动分配版本号。
(如果有站长想申请APP STORE请参考上的iOS混编文档)生成安装包由于多会员同时打包,会影响打包速度,打包为后台运行,您可以进入管理应用界面等待结果。
ECshop使用手册

13.邮件群发管理——邮件订阅管理
13.邮件群发管理——邮件订阅管理
13.邮件群发管理——邮件队列管理
1.商品管理——商品类型
1.商品管理——商品类型
注意~:如果不选择“单选属性”,就不能添加商品的规格,也就不能设置规格库存了~
1.商品管理——商品类型
1.商品管理——商品类型
1.商品管理——商品类型
为各个规格的库存总数
1.商品管理——商品回收站
1.商品管理——图片批量处理
1.商品管理——商品批量上传
3.订单管理——发货单/退货单列表
添加虚拟卡添加虚拟卡
4.广告管理——广告位置
添加虚拟卡添加虚拟卡
4.广告管理——广告列表
前台表现
添加虚拟卡添加虚拟卡
5.报表统计表
添加虚拟卡添加虚拟卡
@该菜单都是各种不同类型的网点数据统计,不再一一叙述
6.文章管理——文章分类
添加虚拟卡添加虚拟卡
6.文章管理——文章分类
11.数据库管理——数据表优化
11.数据库管理——SQL查询
11.数据库管理——转换数据
11.数据库管理——转换数据
12.推荐管理——推荐设置
12.推荐管理——推荐设置
新增UBB格式
12.推荐管理——推荐设置
12.推荐管理——分成管理
前台显示
13.邮件群发管理——关注管理
13.邮件群分类
添加虚拟卡添加虚拟卡
6.文章管理——文章列表
6.文章管理——文章列表
6.文章管理——文章自动发布
6.文章管理——在线调查
7.会员管理——会员等级
7.会员管理——会员列表
7.会员管理——会员列表
7.会员管理——会员列表
ECshop网站后台操作手册

确认模板、订单无效模板
网站管理中心系统设置友情链接: 友情链接是添加其它网站的工具
如何添加友情链接?
前台网店友情 链接Friend Link
点击添加 友情链接
网站管理中心系统设置自定义导航栏:
12
如何设置商店相关信息?
13
如何设置邮件服务器?
14
如何添加友情链接?
15
如何添加导航栏和首页抬头展示?
16
如何操作邮件订阅功能?
如何添加新商品?
网站管理中心商品管理添加新商品: 依次填写(通用信息、详细描述、其他信息、商品属性、商品相册)即可 1.通用信息请填写商品的价格,促销价格,优惠价格等 2.详细描述请填写商品的相关描述,也可同时插入产品细节图 3.其它信息请填写商品的重量,库存等相关信息 4.商品属性请填写商品的尺寸颜色等相关信息 5.商品相册请上传此商品的多张图片形成商品相册
商品管理图片批量处理: 商品管理商品指修改:
网站管理中心订单管理订单查询:
如何查询和操作订单?
在框内输入相关信息即可查询
网站管理中心订单管理订单列表:(可进行操作订单)
1.把鼠标点到订单号处可以显示此订单的商品 2.点击”查看“可进入订单的详细资料页面 3.勾上订单号前框可确认订单、确认为无效订单、取消订单、移除订单等
册会员进客户会员管理界面进入my feedback进入与卖家留言:
如何添加多位管理员?
权限设置:管理员列表、管理员日志 网站管理中心权限管理管理员列表:可编辑各位管理员权限分配、添加管理员 网站管理中心权限管理管理员日志:可查看此管理员对网店后台操作记录
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首页调用文章分类思路及方法最近群里朋友问ecshop首页调用分类文章怎么加的,写篇文章来说下。
在ecshop论坛上有朋友说的方法之前自己试过,没有成功。
现在介绍一种成功的方法,适用各种模板。
修改ecshop不要注重技巧,注重一个思路。
ecshop模板一般分为三栏或者两栏,两栏是left和right,三栏的left,center,right之类的。
现在以两栏的为例,现在一个思路就是在你想调用文章的地方加一个可编辑区域,可编辑区域在后台模板设置里是可以设置的,然后在后台把文章调用在这个可编辑区域里就是了。
明白了原理就可以动手了。
在模板index.dwt里找到右边模块结束的地方,也就是<!--right end-->,在<!-- TemplateEndEditable -->之后加上<!-- TemplateBeginEditable name="文章区域" --><!-- TemplateEndEditable -->,其中“文章区域”这个名字是可以修改的,和你在后台看到的名字是一致的。
然后修改模板里的库文件cat_articles.lbi,替换成下面的代码<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <div style="width:243px; float:left; margin-right:3px;"><div class="box"><div class="box_1"><h3><span><ahref="{$articles_cat.url}">{$articles_|escape:html}</a></span ><a href="{$articles_cat.url}"><img src="../images/more.gif"alt="more" /></a></h3><div class="boxCenterList RelaArticle"><!--{foreach from=$articles item=article}--><a href="{$article.url}"title="{$article.title|escape:html}">{$article.short_title}</a><br /><!--{/foreach}--></div></div></div></div>其中需要注意编码,用GBK的自行替换成GBK,其中的宽度自己控制,自己多试下就知道大小了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ecshop开发详解功能了解介绍安装后台管理程序分析重要表执行流程底层库js库分析练手功能去除标题[PHP]去除版权标志[js]最新评论[PHP+模板]二次开发自定义title [php]email登陆[php]多商品倒计时[js]模板开发1.1 ecshop介绍ecshop是一款b2c的商城程序.目前(2014年1月11日) 最新程序是ecshop-2.7.3版本.已被上海商派(shopex)购买,更新缓慢.程序特点: 面向过程,通过函数库与函数调用,来获取数据,并能过smarty模板来展示数据. 学习难度小,二次开发比较直观.1.2 安装下载最新的ecshop-2.7.3为例,解压得到如下3个目录,其中upload就是需要上传的主程序.把upload解压到web目录下,并改名,如ecshop, 并用浏览器打开,即可进入自动安装过程.1.3 后台管理常用选项:商品管理栏目管理会员注册项导航配置模板选择注意: 在使用一些比较成熟的程序时,尽量通过后台配置选项,来达到目的,而不要直接修改代码.因为后台配置效率更高, 更重要的,如果直接修改代码,后续程序的升级将带来麻烦.2.1 重要的表分析Ecs_goods表:商品表Ecs_category :栏目表Ecs_brand:品牌表Order_info 订单表Order_goods 订单对应的商品表.order_action 订单操作的原始记录User 用户表User_account 用户账户表Account_log:用户的账户变动流水表Collect_goods: 用户收藏商品表Feedback表:留言表,不针对商品,直接针对店家留的言. Comment:是针对商品做的评论.Nav 表导航链接表,可以定制页面上的导航信息.2.2 执行流程1:Ecshop 属于面向过程+函数调用为主, 而且没用单入口模式具体的功能对应具体的页面. 2:用的模板引擎是简化的smarty 模板.以goods.php 为例在init 中包含的页面,基本都是声明函数.(因为ec 是面向过程+函数来编程的)inc_constants 系统常量cls_ecshop 用来获取网站的域名,ec 版本,图片目录,表前缀等基础信息cls_error.php 获取和输出错误信息.lib_time 获取和格式化时间的相关函数lib_base 计划字符串长度,获取客户IP,发邮件等,几乎所有网站都能用到的基础函数 lib_common ecshop 各页面都用到的函数,如拼接sql,获取栏目列表,构造面包屑导航. lib_main.php ecshop 常用的函数,主要是用户和模板赋值函数多一些.lib_insert.php 是为了用smarty 模板时,有些局部不缓存的地方,需要调用函数,都在这儿 lib_goods.php 是商品操作的相关函数lib_article.php 文章操作的相关函数注: 更详细的函数说明在”ECSHOP 函数.doc ”里Lib_base.php : base 基地基础,此文件声明的是全网站甚至任何网站,都常用用到的函数,Sub_str : 截取中文无乱码的文件.Real_ip: 读取客户端IP, 从$_SERVER 来读的.Str_len: 计算字符串在视觉效果上的长度, 一个中文按2个字符算(因为多数情况下,一个中文的宽度是一个字母的2倍宽.)Get_crlf: 获取当前用户的换行符. Windows->\r\n, *nix->\n , mac->\rSend_mail : 发送邮件.Get_version:获得服务器环境的gd 库版本File_mode_info:获取文件的权限信息.Goods.php Require (Init.php) .... .... 业务逻辑function xxx();function yyy();inc_constants.phpcls_ecshop.phpcls_error.phplib_base.phplib_common.phplib_main.phplib_insert.phplib_goods.phpLog_write: 记录日志到文件Mk_dir: 递归创建目录addslashes_deep:递归的对数组进行转义.addslashes_deep_obj: 递归对对象的属性进行转义.stripslashes_deep :递归反转义make_semiangle: 全角字符转半角check_file_type :检查文件后缀,一般检查后缀,直接通过截取文件名来实现.A.php==> a.jpg,伪装上传,带来攻击. Ngnix+PHP某个版本,就有此漏洞.而check_file_type是通过分析文件的头信息域来实现的.mysql_like_quote:对sql语句扣like条件进行转义,防止注入.real_server_ip:获取服务器端IP地址ecs_geoip: 把IP地址转为"省市地址".trim_right:中英文混杂时,去除右侧可能的乱码.read_static_cache:读文件缓存(把数组等信息序列化,放在文本里存储) write_static_cache:写文件缓存.Lib_common.php主要放置本网站要实现的一些功能的主要函数比如:Get_brand_list 获取品牌列表get_children:获取指定栏目的子孙栏目.本文件下的函数比较多,用到的再来讲解.Lib_main.php主要放置前台功能的函数库比如:update_user_info :更新用户的session信息get_user_info:获取用户的详细信息assign_ur_here:计算面包屑导航路径.assign_articles:获取文章列表并赋给smartyLib_insert.php放置的是在模板中局部不缓存时,调用的insert_开头的函数.Lib_goods.php是商品操作最频繁函数.小试牛刀:以商城标题中, 去除"powered by Ecshop"为例打开任意一个页面, 看其模板,以goods.php为例Goods.php->找模板->goods.dwt,分析模板的标签, 找到相应的{$page_title}标签回到goods.php里,必须推出--> assing('page_title',xxx)这个过程,再找到,===> $page_tile=>$position['title']=>$position==>assign_ur_here()函数留一下问题:在开发的过程中,有时需要清缓存才能看到效果如何彻底禁用缓存,方便开发时的调试.js函数追踪utils.js 底层兼容库common.js 购物逻辑相关的函数addToCart() 把商品添加到购物车collect() 添加商品到收藏夹gotoPage() ajax评论翻页gotoPage() 格式化价格addPackageToCart() 添加礼包到购物车shopping_flow.js 处理购物车过程中相关的函数selectShipping() 改变配送方式selectPayment() 改变支付方式changeSurplus() 改变余额transport.js ajax操作库Ajax.call() // 发送ajax查询showdiv.js 漂浮层的库showdiv() 显示漂浮层hidendiv() 隐藏漂浮层lefttime.js 显示剩余时间的库便于做抢购时用.三练手功能 3.1 去除标题中的”powered By Ecshop”大思路: 库函数--被调用--->goods.php->assign()赋值--->display到模板倒过来寻找,从模板找变量,再找assgin过程,再找相关函数.把{$page_title}随便改成其他内容,刷新页面,看到效果.--->到goods.php, 查看page_title的assign过程,看到如下追踪assign_ur_here()函数,先在本页面(goods.php)寻找,没找到.在lib_main.php里.追踪到lib_main.php里3.2 去除版权打开index.dwt模板,观察底部发现引入了page_footer.lbi,追踪page_footer.lbi清除此行,并刷新发现---- 底部指定位置已经去除了版权标志,但是, 每刷新,版本的文字,就随机在底部漂浮. 跟踪js的页面自动加载的函数,在js中找到相关函数3.3 最新评论index.php---调用函数--获取最新评论---->assign()赋值给模板---->display--->index.dwt分析:最新评论的函数,优先找系统函数,没有没有,则自己写.assign()修改模板注意:在indew.dwt里, 增加如下代码四: 二次开发二次开发的大原则1:能后台配置,不去修改.2:能用js,css实现,不改模板(比如来一个隔行换色) 3:能改模板的,不要改PHP4:能改PHP完成的,不要改数据库一部话概括------逻辑要前移1)自定义title[php+模板]2)用户名/email都可以登陆[php]3)团购倒计时js4.1 自定义商品title商品页面自定义title,便于SEO功能讲解:商品页面的title信息是"商品名->栏目名->上级栏目名->网店名"这个规则来自动生成. 对于title,是SEO一个很重要的数据,自动生成的title很可能不符合SEO的需要.步骤:我们如何自定义title?答:首先在商品表增加title字段,然后在商品页面的.php文件中,读取此字段并赋给smarty然后再展示到模板上.从后台管理角度看:发布商品时,表单中应有自定义title表单项,并能提交入库.修改商品时,表单中也应有自定义title表单项,并能提交入库.实施:1:给ecs_goods商品表增加seotitle字段.alter table ecs_goods add seotitle varchar(60) not null default '' after goods_name;2:在后台修改商品发布时的表单项,增加"自定义title"表单项./admin/templates/goods_info.htm 40行左右3:admin/goods.php中的insert ,update代码段,800行左右,分别接收$_POST[seotitle],并拼接在insert语句或update语句中4:在模板中,goods.dwt中, 做逻辑判断,展示seotitle或page_title4.2 用户名和email 都可以登陆ecshop 的登陆原理ecshop 允许集成其他的网站,如dede,discuz 等, 并共用会员信息.ec 的登陆做了一个统一的登陆接口,满足接口,即可开发出与dede,discuz 共用的登陆功能. 达到整合目的.跟踪user.php 找act_login 代码段,找到如下:调用的是$user 这个对象, 继续跟踪$user 这个类在哪儿---->$user---返回自---->init_user()----定义在-->lib_common.php找到如下函数看到: 登陆时用的类,是根据配置文件定义的.有很多类,如下: 这些类,分别是phpbb,discuz 的登陆接口,用来整合用的. 我们当前用是 ecshop 登陆接口登陆 用户名:[] 密码:[]user.php?act=act_login在登陆接口父类中,增加一个方法,根据email来获取用户名.再在login方法里,做判断如果传来email,则先把email转换为username,然后再登陆4.3 商品团购倒计时php修改: group_buy.php目的: 得到页面内的每个团购的id及结束时间,并形成json格式,输入在模板中. 模板修改: group_buy_list.dwt把每个团购的剩余时间,包在一个span里,并取一个独特的id.接下来,在模板的末尾,showtime()根据gb_json_list循环修改每个团购的剩余时间formattime()负责格式剩余时间.再用定时器每秒执行1下.注意: 这个程序中, 老师写的formattime()函数不够精确, 请同学们自己修正完善.模板开发ecshop的模板用的精简型的smarty模板,语法和smarty绝大部分通用.而ec的程序,又是面向过程,调用函数,赋值给smarty, 然后展示到模板.因此模板的开发比较直观.1:我们把模板的目录放置ecshop/themes/下面2: 后台管理,查看模板,并没有出现我们新增的模板供选择.这是因为,ec识别模板,要靠css和缩略图做标识,来识别ec要求在模板的目录下,直接放置style.css, 且首段的注释理解为模板的说明信息.如:/*Template Name: ECSHOP DefaultTemplate URI: /Description: 默认升级版.Version: 2.7.2Author: ECSHOP TeamAuthor URI: /Logo filename: logo.gifTemplate Type: type_0*/3: 完成第2步后,可以看到模板,但是模板没有缩略图.ec的模板缩略图是自动去寻找ecshop/themes/images/screenshot.png,因此需要做好缩略图, 并且命名为screenshot.png,并放置在images目录下.4: 把css文件直接放在ecshop/themes/xxx皮肤下面这一步可能导致,css与图片目录的相对位置发生变化,有一些背景图会失效,注意,修正css中背景图的路径.5: 把模板的首页命名为index.dwt (因为ecshop寻找模板的后缀为dwt)至此,模板的建立就完成了.接下的工作,即是各个页面的标签的嵌套.(smarty的知识)首页开发index.dwt把导航处的Html标签单取出,放在library/page_header.lbi里lbi里的foreach from=xxx ,xxx部分是系统定义的,我们直接使用. $nav.opennew 代表是否新窗口打开$nav.active 代表当前导航块是否处于选中状态.左侧的导航栏新建library/category_tree.lbi栏目页面category.dwt1:面包屑导航搜索自带模板的category.dwt “ur_here”关键词跟踪到/library/ur_here.lbi ,找到$ur_here标签, 把ur_here标签放到适合位置2: 商品列表跟踪到goods_listl.l.bi商品标签的关键,在于下面这个标签我们的模板根据实际情况代码如下:并在后台设置, 栏目列表页显示9条商品后台-->商店设置-->显示设置但是出了一个奇怪的问题, 前台的goods_list循环10次,且最后一次得到空的数组, 导致多出一个空的商品出来.观察category.php , 下面这句话把商品数量补成偶数个,屏蔽掉即可.用户信息, 和其他标签不一样,前面有一个insert这个是----局部不缓存的一个标签, 这个标签的信息来自于”insert_member_info”函数的返回值.在smarty中的insert_xxx 1个原理.作业: 同学们利用insert标签, 调用购物车信息,并显示在模板上。