目录
一、目前市场流行的电子商城系统 1
二、ecshop的介绍 1
三、安装 2
四、echsop 的目录结构 5
五、分析ecshop里面程序的架构 5
六、小试牛刀把面包屑导航改成两个大于号 6
1、根据php页面找出该页面对应的模板。 6
2、找到category.dwt模板文件,打开找到面包屑导航的位置 6
3、在library目录中找出 ur_here.lbi文件 7
七、init.php文件分析 9
八、完成在用户登录是, 可以使用邮箱登录。 11
九、完成余额显示: 15
十、在添加新商品的时候,添加一个seotitle,便于在商品的详情页面显示。 17
十一、套模板 20
1、把模板文件拷贝到themes目录下面。模板的样式和图片的路径要和ecshop里面默认的一致 20
2、在模板文件中取出导航信息。 21
3、显示出商品的分类 22
4、取出热销排行 24
5、取出精品推荐数据 25
一、目前市场流行的电子商城系统
Ecshop
shopNC(代码部分加密)
国外:zencart,magento(麦金斗)
一般在外贸的公司,用zencart,magento用的多一些.
Magento是基于zendframework来开发的.
二、ecshop的介绍
ecshop是上海商派网络科技有限公司(shopEx)旗下—B2C独立网店系统,适合企业及个人快速构建个性化网上商店。系统是基于php语言及mysql数据库架构开发的跨平台开源程序。
历史:
2006年6月,ecshop推出第一个版本1.0
2007年5月到6月,ecshop管理层将ecshop卖给康盛世纪。
2008年10月10日,ecshop系列软件(包括 ecshop,ecmall, maifou等),被上海商派网络科技有限公司(shopEx)整体收购。
2012年4月,发布ecshop v2.7.3 release 0411
三、安装
1、下载解压,把upload目录拷贝网站的根目录(虚拟主机目录)
2、配置一个虚拟主机
3、如果你的php的版本比较高,则屏蔽一些输出提示错误。
打开includes目录下面的init.php文件
在打开后台目录(admin)的init.php文件。
4、执行安装,在浏览器里面访问域名即可。
四、echsop 的目录结构
五、分析ecshop里面程序的架构
1:Ecshop属于面向过程+函数调用为主, 而且没用单入口模式具体的功能对应具体的页面.
2:用的模板引擎是简化的smarty模板.
第一步:包括include/init.php,进行数据库以及smarty等的初始化工作
第二步:调用相关函数从数据库中取数据,然后Assign
第三步:display一个静态页
总结:也是一个MVC的架构,只不过不是纯OOP的,也不是单一入口的。
纯OOP:所有的东西必须属于一个类,不能游离在类的外面。
控制器: 根目录下的php文件
模型层:includes/下的一些以lib_开头的文件,如:lib_article:文件相关操作。
视图层:themes/ 前台静态页
六、小试牛刀把面包屑导航改成两个大于号
1、根据php页面找出该页面对应的模板。
2、找到category.dwt模板文件,打开找到面包屑导航的位置
思路:根据在静态页面分析:只需在模板中找到<div id=”ur_here”>位置,即可找到。
通过分析,导航是在library目录下面的ur_here.lbi文件中,
3、在library目录中找出 ur_here.lbi文件
发现导航的输出是通过{$ur_here}变量输出的
说明在php页面中必定有一个$smarty->assign(‘ur_here’,);
搜索当前没有该函数,说明该函数是在其他页面中定义的。
打开init.php文件,通过该文件中require的其他文件进行查找
最后发现是在lib_main.php文件中的。
自己练习 :去掉标题里面的powered by echsop字样。
七、init.php文件分析
1、定义一个根目录,便于引入其他的文件。
2、判断是否安装
3、初始化设置,当没有权限修改服务器在中的php.ini文件时可以自己在页面通过ini_set函数来完成修改。
4、判断魔术引号是否开启,如果没有开启则要自定义函数完成数据的过滤。
$sql=”select * from user where username=’$username’#’ and password=’$password’”;
5、初始化数据库的类
$ecs->table(‘sessions_data‘)//返回参数的实际表名
6、载入语言包文件目录
7、判断访问来者
8、创建smarty对象