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,其中的宽度自己控制,自己多试下就知道大小了。
ECShop安装说明与安装步骤(图文)
以下分为2部分文档1和文档2,可任选其一,都能安装成功。
文档1:ECShop“安装说明”与“安装步骤”文档2:ECShop“安装说明”与“安装步骤”演示文档1:ECShop“安装说明”与“安装步骤”1. 系统需求•操作平台不限,推荐使用linux,以获得更好的性能•可提供web服务的服务器,推荐web服务器使用apache•PHP版本等于或大于4.1.0,支持MySQL数据库,推荐使用4.4 或者5.1 系列的最新版本[可选方案:支持GD库,就可使用自动生成商品缩略图功能]•MySQL (3.23 或者更高版本),推荐使用4.1 或者5.0 系列的最新版本2.快速安装你可以通过下面的步骤进行快速的安装。
2.1 下载ECSHOP软件包请到下载最新的ECSHOP软件包。
2.2 解压缩ECSHOP软件包,并上传到服务器ECSHOP软件包使用普通解压缩软件(如WinRAR)就可解压缩。
将解压缩文件上传到服务器指定目录,该目录要求在浏览器中能够访问。
2.3 修改目录权限文件上传到服务器后,需要更改几个目录权限才能保证ECSHOP的正常运行o data/ 目录及其所有子目录o temp/ 目录及其所有子目录o cert/ 目录o includes/ 目录及其所有子目录o images/ 目录及其所有子目录o themes/ 目录及其所有子目录以上目录、文件在网站运行过程中会被动态更新,因此需确保可以向以上目录、文件写写入数据。
可以使用以下方法:o你可以使用ftp软件将以上目录及其子目录、文件属性设置为777o linux平台下你有shell权限则通过执行chmod来修改目录权限。
o windows平台下,一般默认就可读写,不用设置2.4 开始安装在浏览器中访问http://你的网址/,根据页面提示填写参数。
安装程序将自动完成config.php文件配置。
填写参数时注意以下几点:o若不清楚mysql服务器地址,用户名,密码,数据库名可向虚拟空间提供商咨询。
ecshop4.1版本安装环境搭建,ecshop4.1.1安装过程图解教程
ecshop4.1版本安装环境搭建,ecshop4.1.1安装过程图解教
程
1.本次ecshop4.1安装教程服务器配置如下:
服务器操作系统: WINNT
Web 服务器: Apache
PHP版本:7.0
MYAQL:5.5
2.
免费下载只有PC端没有手机版
3.解析域名:
www.你的域名.com
api.你的域名.com
4.域名绑定对应目录
5.开始ecshop4.1安装过程:打开你的域名回车开始安装
6.设置网站数据库账户密码和后台账户密码
7.ecshop4.1安装完毕准备登录后台
8.登录后台可以选择ecshop来登录
9.登录后台查看本次安装版本:
到这步安装完毕!如果要修改手机版请看下面10.打包手机版:点击放大图片
11.打包完成以后把h5文件夹放到ecshop 文件夹h5目录中
12.打开你的域名/h5 测试下修改后效果
13.微信小程序代码修改,需要用到微信开发工具效果如下
转载请注明:•。
ecshop首页修改ECSHOP的模板大全教程
修改ECSHOP的模板大全ECSHOP的广告链接地址形式为“affiche.php?ad_id=1&uri=http%3A%2F%”它中间用affiche.php 做了一个过渡,目的在于统计广告效果等。
有些站长觉得这种链接地址看上去很别扭,而且不利于SEO, 想改成直接的形式,也就是后台设置的是什么链接地址,就直接打开什么链接地址。
可以这样来修改:打开/includes/lib_insert.php 文件找到$ads[] = "<a href='affiche.php?ad_id=$row[ad_id]&uri=" .urlencode($row["ad_link"]). "'修改为$ads[] = "<a href='" .$row["ad_link"]. "'注意:一共有两处都要修改在ECSHOP首页的每个商品下显示商品货号ECSHOP首页有很多种商品,包括今日特价、精品推荐、新品上市、热卖商品、分类商品等,这里只讲解在“精品推荐、新品上市、热卖商品”三个栏目的商品下面显示商品货号的方法。
第一步:修改 includes/lib_goods.php文件找到下面代码第二步:找到$goods[$idx]['brand_name'] = isset($goods_data['brand'][$row['goods_id']]) ?$goods_data['brand'][$row['goods_id']] : '';在它上边增加一行代码$goods[$idx]['goods_sn'] = $row['goods_sn'];第三步:修改模板文件,这里以官方默认模板为例依次打开下面三个文件:/themes/default/library/recommend_best.lbi,/themes/default/library/recommend_new.lbi,/themes/default/library/recommend_hot.lbi在每一个文件的<p><a href="{$goods.url}" title="{$|escape:html}">{$goods.short_style_name}</a></p> 上边增加一行代码:<p>商品货号:{$goods.goods_sn}</p>在ECSHOP销售排行中显示会员价格的方法有的用户可能已经发现了,在ECSHOP的销售排行中,任何情况下只显示了一个“本店售价”。
ecshop模板循环foreach的使用方法及参数详解
ecshop模板循环foreach的使用方法及参数详解在ecshop模版制作中foreach是比不可少的模版元素,当往往我们对foreach的了解不是很透彻,下面就来详细说明一下echsop中foreach的使用方法。
1:掌握foreach的使用,必须先了解下面几个参数的作用,分别是from ,item name iteration indexfrom 参数是接受ecshop所传递过来的数组中的名称;item 参数表示当前元素的变量名name 表示访foreach属性的 foreach循环名问iteration 表示从1开始遍历这个数组元素index 表示从0开始遍历这个元素到底要如何使用foreach循环呢,我们举例说明:如果php要传递一个数组$array_data 给ecshop的smarty模板用来输出数组中的值.这时我们将通过from=$array_data 来接收这个数组,写法是{foreach from = $array_data item = item}ecshop中smarty的下标怎么表示呢,请看下面的例子:{foreach from = $array_data item = item name=name}{$.iteration}{/foreach}这里的iteration就是从1开始的下标,这种写法我们在做模版判断的时候用的比较多,判断数组里面的内容到底是从1开始,还是从0开始。
如果要从0开始的下标,应该使用{$.index},你只要记住iteration 是数组下标从1开始遍历,index是数组下标从0开始遍历就可以了。
4:我们在嵌套模版的时候,就靠 iteration 和index 这两个参数是不够的,如何判断是否是foreach循环的开始和结束,最后一个元素.{if $st}表示循环的最后一个元素.{if $smarty.freach.first}表示循环的开始.我们在做分类循环的时候用的比较多的就是循环里面嵌套循环,如何使用双重循环.请看下面的例子:{foreach from = $test item =item}{foreach from=$item.children item=child}{$}{/foreach}{/foreach}如果遍历数组时,发现这个数组没有值测用 foreachelse。
ECshop使用手册
ECshop使用手册ECshop使用手册1、简介1.1 什么是ECshop1.2 ECshop的特点1.3 ECshop的优势2、安装与配置2.1 系统要求2.2 与安装ECshop2.3 配置ECshop2.4 数据库设置2.5 后台管理设置3、商品管理3.1 添加商品3.2 编辑商品3.3 删除商品3.4 商品分类管理3.5 商品属性管理4、订单管理4.1 创建订单4.2 订单支付4.3 订单发货4.4 查看订单详情 4.5 取消订单4.6 退款与售后服务5、用户管理5.1 用户注册5.2 用户登录5.3 修改个人信息 5.4 查看订单历史 5.5 购物车管理5.6 用户评论与评分6、促销与营销6.1 优惠券6.2 积分系统6.3 团购与拼团活动7、物流与配送7.1 物流公司管理7.2 配送区域设置7.3 发货流程8、网站设置8.1 网站基本信息设置 8.3 导航菜单管理8.4 页面布局管理8.5 插件与扩展管理9、数据备份与恢复9.1 数据库备份9.2 数据库恢复10、系统日志与错误处理 10.1 系统日志查看10.2 错误处理与调试11、常见问题与解答11.1 如何处理商品缺货情况?11.2 如何配置多个支付方式?11.3 如何添加新的配送方式?附件:- ECshop安装包- ECshop使用手册PDF版法律名词及注释:- 商标:商标是指为区别商品或者服务来源,以图形、字词、数字、三维标志、颜色组合等方式,以及联合声音等方式,单独或者结合使用,能够区别商品或者服务来源并能够在法律上受到保护的标志。
- 版权:版权是指作者对其创作的文学、艺术、科学等作品享有的权利,包括对作品的复制权、发行权、表演权、放映权、广播权、信息网络传播权等权利。
ecshop 留言功能的不同使用方法
一:如何让ecshop网店显示首页留言我们找到index.php在里面添加函数:$smarty->assign('use r_messages', get_user_messages());修改之后代码如下:/*** 用户留言**/function get_user_messages($num = 8){$sql = 'SELECT msg_title, msg_content, msg_time FROM '. $GLOBA LS['ecs']->table('feedback') .' WHERE parent_id = 0 AND `msg_area`=1 AND `msg_status` = 1'.' ORDER BY msg_time DESC';if ($num > 0) $sql .= ' LIMIT ' . $num;$res = $GLOBALS['db']->getAll($sql);$comments = array();foreach ($res AS $idx => $row){$comments[$idx]['title'] = sub_str(str_replace('\r\n', '<br />', htmlspecia lchars($row['msg_title'])), 30);$comments[$idx]['url'] = "/message.php";}return $comments;}$smarty->assign('use r_messages', get_user_messages()); //msg/* 页面中的动态内容*/assign_dynamic('index');然后我们找到模板index.dwt ,我们在需要显示的地方添加下面这段代码:<ul><!-- {foreach from=$user_messages item=msg}--><li><a href="{$msg.url}" titl e="{$msg.title|msg:html}">{$msg.title}</a></li><!--{/fo reach}--></ul>大家要根据自己的情况添加代码,相信现在朋友们学会了如何让ecshop网店显示首页留言,如果你还想控制首页显示的条数,添加代码:<!-- {if $smarty.foreach.top_goods.iteration<5}-->稍作调整就可以实现了。
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模板如何修改?很多人在问这个问题,今天就以图解的方式给大家详细说下。
相信学完之后,你会很清楚如何修改ecshop模板,不管你是初学者还是程序高手。
1,ecshop的模板结构ecshop模板没什么大的结构,就是使用smarty引擎来展示数据。
大概是这样的结构:php->smarty->dwt文件->lbi文件。
1)在网站目录的themes里存放着各个模板,这里可以存放多个模板文件夹,也就是说,可以由多个模板,如果你存放多个模板,那么可以在后台自由切换。
2)打开某个模板,会看到一堆的dwt文件和图片文件夹,这些就是模板文件了。
这里的images是存放图片的,这个名字无所谓了,你自己随便取,同样,css文件的路径和名字也是随便取的,只要在模板文件里用对就行了。
3)library文件夹这里存放的是一个个的库文件,也是模板文件共用的文件。
类似于head.htm footer.htm一类的这些文件。
你可以随意的使用这些文件。
总结:看完上面的介绍,相信你应该可以知道ecshop模板如何修改了吧,至少你也应该知道如何下手了吧。
下面介绍具体的修改方法。
2,具体该如果做ecshop模板修改1:如何修改网站”欢迎光临本店”languages\zh_cn\common.php文件中,$_LANG['welcome'] = ‘欢迎光临本店’;将他修改成你需要的字样。
2:如何修改首页”热门搜索关键字”后台->系统设置->网店设置->显示设置->首页搜索关键字,修改他的内容,然后保存3:如何修改首页标题“Powered by ECShop”includes/lib_main.php,找到$page_title = $GLOBALS['_CFG']['shop_title'] . ‘–‘. ‘Powered by ECShop’;修改成$page_title = $GLOBALS['_CFG']['shop_title']就可以了。
Ecshop 使用文档
Ecshop 使用流程文档第一步文件覆盖:找到安装目录下网站根目录找到ecshop/api.php这个文件,把编辑过的api文件与网站根目录底下原有api.php文件进行替换(先要备份原有的app.php文件)如:网站环境配置在D盘下文件夹为PHPnow-1.5.3找到网站根目录:如目录名称为ecshop在根目录中就可以找到api.php这个文件进行将其替换:第二步店铺设置;登陆E系统首先进行店铺设置【设置】—[店铺设置]设置店铺(商城)名选择属于自己的商用平台并进行填写app写入app时应该写入当前自己店铺访问地址加/api.php如;店铺访问地址是:http://localhost:8080/ecshop (地址换成网站访问地址)写入app中则应该是:http://localhost:8080/ecshop/api.php第三步设置参数店铺设置成功之后进入【网点工具】—[网店发货管理]—参数设置:进行参数设置所属店铺是上一步所添加的商城平台类型选择属于自己商城平台的类型接口类型选择专有接口类型保存自己的用户名密码进行下一次直接登陆如:店铺是上步添加的店铺:逃逸所用平台:ecshop 则参数设置为:第四步:订单获取进入【网点工具】—[网店发货管理]-定时同步订单:进行订单抓取同步订单第五步:预处理操作到【预处理】中进行[查询]一系列发货操作第六步:发货操作进入【网点工具】—[网店发货管理]-批量发货:进行发货在详细中输入条形码-联想单号-导入进销存第七步:发货进入【网点工具】—[网店发货管理]-批量发货:进行订单发货点击批量发货【快】发货成功附加:定时上下架(包括自动产品下载更新上架下架)进入【网点工具】—[网店发货管理]-扩展功能:点击定时上下架第一将会进行产品下载将产品-网店产品设置为启用更新或默认人更新定时上下架则为:产品同样根据软件图片库存自动更新后台网站数量。
ECshop 模版制作手册
E - Commerce Online Shop 网上商店系统模板制作引导手册by Lu Hengqi16- Nov - 07E - Commerce Online Shop 网上商店系统2目录关于ECSHOP................................ ................................ ................................ (3)产品特点:................................ ................................ ................................ ................................ (3)1. 前言................................ ................................ ................................ (5)1.1. 模板系统介绍................................ ................................ ................................ ................................ .. (5)1.2. 涵盖内容................................ ................................ ................................ ................................ .. (5)1.3. 适用版本................................ ................................ ................................ ................................ .. (5)1.4. ECShop 团队主要成员................................ ................................ ................................ .. (5)2. 模板结构说明................................ ................................ ................................ .. (6)2.1. 模板目录结构................................ ................................ ................................ ................................ .. (6)2.2. 链接模板文件使用例子................................ ................................ ................................ (6)2.3. 模板文件结构................................ ................................ ................................ ................................ .. (6)3. 模板系统标签说明................................ ................................ . (9)3.1. 变量调节标签................................ ................................ ................................ ................................ .. (9)3.1.1. escape [ 编码] ................................ ................................ ................................ ................................ .. (9)3.1.2. nl2br [换行符替换成<br />] ................................ ................................ ................................ (9)3.1.3. default [ 默认值] ................................ ................................ ................................ ................................ (9)3.1.4. truncate [ 截取] ................................ ................................ ................................ ................................ .. (10)3.1.5. strip_tags [去除html标签] ................................ ................................ ................................ .. (10)3.2. 控制标签................................ ................................ ................................ ................................ .. (11)3.2.1. if,elseif,else ................................ ................................ ................................ .......................... ...... (11)3.2.2. foreach,foreachelse ................................ ................................ ................................ ............... .. (12)3.3. 显示标签................................ ................................ ................................ ................................ .. (14)3.3.1. cycle ................................ ................................ ................................ ................................ ....... (14)3.3.2. html_options................................ ................................ ................................ .......................... ...... .. (15)3.3.3. html_select_date................................ ................................ ................................ .................... ............ (16)3.3.4. html_radios ................................ ................................ ................................ ........................... ..... .. (19)3.3.5. html_select_time................................ ................................ ................................ ................... ............. (21)3.4. 辅助标签................................ ................................ ................................ ................................ .. (25)3.4.1. assign................................ ................................ ................................ ................................ .... . (25)3.4.2. Include ................................ ................................ ................................ ................................ . . (25)E - Commerce Online Shop 网上商店系统3关于ECSHOPECShop 是Comsenz公司推出的一款B2C 独立网店系统,适合企业及个人快速构建个性化网上商店。
ECshop 模板设计教程
大家好,在论坛泡了也有一段时间了,今天把EC模板制作修改方面的一些东西整理下,算是一个教程吧,希望对大家有点帮助想对EC模板进行修改、美化,前提是你必须对EC的文件结构有一定的了解,有DIV+CSS方面的基础,还有smarty方面的基础。
建立在这些基础上,经过一定时间的尝试才可以对EC 模板的修改得心应手,OK,下面我们开始一、EC模板修改基础篇1.EC模板的文件结构(以2.71为范例)ECSHOP 模板结构说明.rar (650.32 KB)2.DIV+CSS基础知识如果你连这个什么都不懂的话模板基本是没办法改的,因为EC采用的是DIV+CSS布局,所以对这方面必须有所了解,给大家推荐我的CSS站点里面有一些基本的CSS 教程,可以边学边尝试,其实就是在不断地尝试中进步的3.smarty方面的基础想做模板你可以不用精通PHP,但smarty引擎的东西必须有所了解,不然库文件里很多相关代码看起来会觉得头痛,都是一些基础的语法,下面就来做个了解吧smarty中文手册.chm (358.39 KB)二、EC模板修改提升篇OK,有了以上的基础,可以来学习这一篇章,但前提是上面给出的三个基础必须搞明白,就跟建房子一样,不建好地基,建出来的房子也不会结实1.下载并安装专业的测试工具一般我测试都是在IE 6 7 8 FF下测试,因为其他的一些浏览器基本都是用的IE内核(1)火狐下用firebug进行测试,可以下一个火狐,然后在工具》附加组件里搜索firebug,出来后选择安装即可,安装好后按F12可以调出(2)IE 我一般用IE TESTER进行测试,因为可以在你的电脑中同时开启IE各种版本的环境先安装IE TESTER ,然后安装DEBUGBAR调试工具[local]4[/local]关于以上2个调试工具怎么使用我就不在这里累赘了,大家可以去网上看一些基本的教程2.安装代码编辑工具EC采用DWT模板和LBI库文件结合写成模板,这类文件需要专业的编辑工具进行编辑,切记不可用记事本编辑,特别是UTF8用记事本编辑会出错,在这里推荐DRM,即Dreamweaver 或者Editplus也可以=====================================================第一篇章:如何删除首页品牌空白区域《见20楼》第二篇章:如何设计、美化和调用底部帮助文章列表《见24楼》第三章:商品分类模块的美化与设计《见35楼》第四章讲解预告:导航模块的美化与设计OK,经过了这么长时间大家如果对一楼的介绍有过基础后可以来看这一篇章《模板修改实例操作》1.如何删除首页主广告下方空白区域这个问题很有可能是品牌区模块的问题,CSS将品牌区的高度写好了,而你又没在后台添加品牌,所以会看到空白区域,当然也有可能是广告区域预先写死了在模板中,各模板不同,我们以官方默认模板2.71为例步骤一:我们查看2.71默认模板页面,如下发现图中今日特价右侧有空白区域,在火狐按F12调出FIREBUG工具*****注意:FIREBUG中深蓝色区域的代码仅仅是商品品牌模块的内层,外层包含的才是整个模块***1.<div class="box f_r brandsIe6">2. <div id="brands" class="box_1 clearfix">3. </div>4. </div>复制代码步骤二:查看商品品牌模块外框架内的所有模块结构我们发现品牌模块左侧是ID为sales的特价模块层,外层框架是class为clearfix的层步骤三,用DRM打开index.dwt模板文件CTRL+F搜索brands跳到如下行很明显发现了特价和品牌区域都是引用的库文件如果用不到品牌模块并且想不显示这个空白区域,解决方案:》在模板中删除对应的品牌模块,注意是整个品牌模块区删除,不是只是库文件删了就可以的!1. <!--品牌-->2. <div class="box f_r brandsIe6">3. <div class="box_1 clearfix" id="brands">4. <!-- #BeginLibraryItem "/library/brands.lbi" --><!--#EndLibraryItem -->5. </div>6. </div>复制代码》删除后我们发现右侧的空白区域仍然存在这是因为前面的特价模块的CSS宽度写死了,需要修改CSS》按照上图右边提示打开style.css找到第205行,把width改为750px》改好后刷新页面,发现右边空白区域已经没有,但模块顶部的背景图片短》这也是因为背景图片本身就只有500px宽,制作的死的,需要重新作图images/salesTitBg.gif》重新作图覆盖后刷新页面,效果如下OK,大功告成!=========下节讲解预告:如何设计、美化并调用底部帮助系统文章列表===========进入实例教程2:如何设计、美化并调用底部帮助系统文章列表很多人发现自己的网店底部信息没有帮助文章列表,只有底部导航,那么这个有2种可能1:你的系统根本不存在这个调用的对应代码 2:你没有在后台中对应的文章分类中加上文章废话不多说如果是第一种情况,需要重写一个help库文件,然后在对应页面中引用即可,如果是第二种情况只需在后台文章分类添加文章即可引用代码如下(以官方默认模板为例)1.<!--帮助-->2.<div class="block">3. <div class="box">4. <div class="helpTitBg clearfix">5. <!-- #BeginLibraryItem "/library/help.lbi" --><!--#EndLibraryItem -->6. </div>7. </div>8.</div>复制代码重写help库文件1.<meta http-equiv="Content-Type" content="text/html;charset=utf-8">2.<!--{if $helps}-->3.<!-- {foreach from=$helps item=help_cat} -->4.<dl>5. <dt><a href='{$help_cat.cat_id}'title="{$help_cat.cat_name}">{$help_cat.cat_name}</a></dt>6. <!-- {foreach from=$help_cat.article item=item} -->7. <dd><a href="{$item.url}"title="{$item.title|escape:html}">{$item.short_title}</a></dd>8. <!-- {/foreach} -->9.</dl>10.<!-- {/foreach} -->11.<!--{/if}-->复制代码然后在后台系统帮助分类下添加分类,再在分类下添加文章即可当然这里的外观样式需要你自己去设计,因为每个人的审美观不同我贡献一个女人街底部的帮助模块吧这是CSS1..helpTitBg{text-align:left; background-color:#fff;2.3. padding:15px 0 15px 0;border:1px solid #ccc;4.5. }6.7. .helpTitBg .f_l{ width:135px; padding:0px 25px 0 10px;}8.9. .helpTitBg .f_l img{ border-bottom:1px solid #ebebeb}10.11. .helpTitBg dl{float:left; width:140px; padding:0 10px;border-left:1px solid #e2e2e2; height:170px;}12.13. .helpTitBg dt{width:auto; height:40px; line-height:40px;text-align:left;14.15. color:#a7a7a7; padding-left:5px; margin-bottom:4px;font-size:14px; font-weight:bold; border-bottom:1px solid#ebebeb;}16.17. .helpTitBg dt img{ vertical-align:middle;margin-right:5px;}18.19. .helpTitBg dt a{font-weight:bold; color:#555;text-decoration:none;}20.21. .helpTitBg dd{ padding:5px 0 5px 10px;background:url(images/biao17.gif) 10px centerno-repeat;border-bottom:1px solid #ebebeb;}22.23. .helpTitBg dd a{color:#555; text-decoration:none; padding:0px0px 0px 10px;}复制代码help.lbi中内容1.<meta http-equiv="Content-Type" content="text/html;charset=utf-8">2.<div class="helpTitBg clearfix">3. <div class="f_l">4. <img src="../images/left_fot1.gif">5. <img src="../images/left_fot2.gif">6. <img src="../images/left_fot3.gif">7. </div>8.<!-- {foreach from=$helps item=help_cat name=num} -->9.<dl>10. <dt><imgsrc="../images/help_{$smarty.foreach.num.iteration}.gif" /><ahref='{$help_cat.cat_id}'title="{$help_cat.cat_name}">{$help_cat.cat_name}</a></dt>11. <!-- {foreach from=$help_cat.article item=item} -->12. <dd><a href="{$item.url}"title="{$item.title|escape:html}">{$item.short_title}</a></dd>13. <!-- {/foreach} -->14.</dl>15.<!-- {/foreach} -->16. </div>复制代码用到的图片素材----------------下节讲解预告:商品分类模块的美化与设计-------------------------------------biao17.gif(50 Bytes)help_1.gif(1.47 KB)help_2.gif(1.38 KB)help_3.gif(1.41 KB)help_4.gif(1.33 KB)help_5.gif(1.38 KB)left_fot1.gif(2.06 KB)left_fot2.gif(2.29 KB)left_fot3.gif(2.07 KB)今天,我们来讲商品分类模块的设计与美化首先要知道,商品分类模块引用的文件是category_tree.lbi,我们可以修改这里面的内容再配合CSS和一些图片素材做到一个很好的美化,少部分页面需要修改程序来看一下官方默认模板的分类树库文件1.<meta http-equiv="Content-Type" content="text/html;charset=utf-8">2.<div class="box">3.<div class="box_1">4. <div id="category_tree">5. <!--{foreach from=$categories item=cat}-->6. <dl>7. <dt><a href="{$cat.url}">{$|escape:html}</a></dt>8. <!--{foreach from=$cat.cat_id item=child}-->9. <dd><ahref="{$child.url}">{$|escape:html}</a></dd>10. <!--{foreach from=$child.cat_id item=childer}-->11. <dd> <ahref="{$childer.url}">{$|escape:html}</a></dd>12. <!--{/foreach}-->13. <!--{/foreach}-->14.15. </dl>16. <!--{/foreach}-->17. </div>18.</div>19.</div>20.<div class="blank5"></div>复制代码再看一下效果个人认为这个一般人都不大喜欢,我们就以实例对它进行重新设计下,我们的效果图OK,切图,切出四个图,如下1.<meta http-equiv="Content-Type" content="text/html;charset=utf-8">2.<div id="tree">3.<div class="tree_h"></div>4. <!--{foreach from=$categories item=cat}-->5.6. <div class="cat1"><ahref="{$cat.url}">{$|escape:html}</a></div>7. <!--{foreach from=$cat.cat_id item=child}-->8. <div class="cat2"><ahref="{$child.url}">{$|escape:html}</a></div>9. <!--{foreach from=$child.cat_id item=childer}-->10. <!-- <dd> <ahref="{$childer.url}">{$|escape:html}</a></dd>-->11. <!--{/foreach}-->12. <!--{/foreach}-->13. <!--{/foreach}-->14. </div>15.<div class="blank5"></div>复制代码CSS代码如下:1.#tree {2. width:215px;3. height:641px;4. background-image: url(images/time/tree_bg.gif);5. background-repeat: no-repeat;6. padding-top:11px;7.}8.#tree .cat1 {9. width:177px;10. height:32px;11. background-image:url(images/time/tree_cat1.gif);12. background-repeat: no-repeat;13. padding-left:38px;14. line-height:32px;15.16.}17.#tree .cat1 a {18.font-size:16px;19.color:#FFFFFF;20.text-decoration:none;21.font-family:Arial, Helvetica, sans-serif;22.font-weight:bold;23.}24.#tree .cat2 {25. width:165px;26. height:32px;27. padding-left:50px;28. background-image:url(images/time/tree_cat2.gif);29. background-repeat: no-repeat;30. line-height:32px;31.32.}33.#tree .cat2 a {34.font-size:13px;35.color:#FFFFFF;36.text-decoration:none;37.font-family:Arial, Helvetica, sans-serif;38.font-weight:bold;39.}40.#tree .tree_h {41. padding-left:15px;42. width:107px;43. height:49px;44. background-image:url(images/time/tree_h.gif);45. background-repeat: no-repeat;46.}复制代码将切出来的四张图放到images目录下,前台预览,大功告成预览地址:分类美化设计实例预览大家经常问的是怎样把分类一行2列,其实这个是要去除官方默认的代码属性,写上自己的,加上漂浮即可,以官方默认模板2.71的category_tree.lbi 为例<!--{foreach from=$categories item=cat}--><dl><dt><a href="{$cat.url}">{$|escape:html}</a></dt> <!--{foreach from=$cat.cat_id item=child}--><dd><a href="{$child.url}">{$|escape:html}</a></dd><!--{foreach from=$child.cat_id item=childer}--><dd> <a href="{$childer.url}">{$|escape:html}</a></dd><!--{/foreach}--><!--{/foreach}--></dl><!--{/foreach}-->将其中红色标注的部分代码改为<dd class="clearfix"><!--{foreach from=$cat.cat_id item=child}--><p><a href="{$child.url}">{$|escape:html}</a></p><!--{foreach from=$child.cat_id item=childer}--><dd> <a href="{$childer.url}">{$|escape:html}</a></dd><!--{/foreach}--><!--{/foreach}--></dd>CSS代码:#category_tree dl dd p {display:block;float:left;height:17px;margin:1px 2px;overflow:hidden;width:90px;}=======================================这次的篇章就到这里,下一篇章讲解预告:导航模板的美化与设计。
- 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标签, 调用购物车信息,并显示在模板上。