20150411--Dede二次开发-01
目录
一、目前市场流行的电子商城系统 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对象
转载于:https://www.cnblogs.com/lifushan/p/5472011.html
20150411--Dede二次开发-01相关推荐
- Dede二次开发程序详解(dede爱好者必备)
Dede二次开发程序详解(dede爱好者必备) 调用说明:推荐会员(带用户头像) [quote] {dede:sql sql="SELECT mid,mtype,userid,uname, ...
- Revit二次开发01——环境搭建(附Revit 2018 + Visual Studio 2017下载地址)
目录 1.准备工作 1.1 安装Revit 2018 1.2 安装Revit 2018 SDK 1.3 安装Visual Studio 2017 2.配置Addin Manager 3.测试 3.1 ...
- 【Revit二次开发-01】
一.C#开发相关资料 1.周婧袆出品相关资料(淘宝有售) 视频地址:视频教程可以在YouTube中搜索"Revit二次开发"找到 课件地址:链接:https://pan.baidu ...
- php 织梦二次开发,Dede二次开发程序详解(dede学习必备一)
调用说明:推荐会员(带用户头像) [quote] {dede:sql sql="SELECT mid,mtype,userid,uname,matt,face FROM dede_membe ...
- dede 二次开发系统迁移到 IIS 时会出现的问题及解决方案
1.IIS 会默认站点所有文件只读,故一开始请打开目录权限,注意赋予权限对象是 webuser 或 IIS user; 若是集群的话,则目录共享给IIS对应的用户 2.后台不能登陆 查看数据库配置文 ...
- 《proe 二次开发01》
[1.] "protected: virtual struct AFX_MSGMAP const * __thiscall SelectDLG::GetMessageMap(void)con ...
- (dede)织梦系统二次开发笔记
(dede)织梦系统二次开发记录 --soulsjie 一.模板常用文件说明 模板文件都在文件夹templets下,我们以默认模板(default)为例,对模板文件结构进行分析: 首页模板文件目录 \ ...
- dedecms教程:二次开发时使用{dede:arclist},{dede:list}
以前用织梦DEDECMS做二次开发时获取附加表字段内容都是通过runphp执行SQL查询获得,最近看了看手册,发现一个非常简便的方法. 用arclist调用于附加表字段的方法: 方法一: 要获取附加表 ...
- Revit二次开发入门秘籍 01如何入门
关于入门 我想在开始学习之前大家应该更需要知道如何入门,对比一下我们在学校的学习,我们需要书.老师-书上呢,是有所有的知识点,有重要的,有不重要的,而老师呢,会知道哪些是重点,也就是我们考试要考的,教 ...
最新文章
- PIE.htc 让IE使用CSS3
- eclipse color theme 主题颜色
- 记使用WaitGroup时的一个错误
- IOS:批量导入图片和视频到模拟器的相册
- C++总结笔记(十一)—— Lambda表达式的应用
- 设计模式(十五)——桥接模式
- Linux 链接网络
- 随机森林模型调参方法
- 浅谈-国标GB28181协议上下级对接国标编码要求(四)
- 2010版gmp 计算机系统,2010版GMP附录:计算机化系统 整体及条款解读
- 华为5G手机全球第一,人均年薪69万!
- 运营商 sni 服务器,加密或者丢失:加密SNI的工作机制
- 《数论概论》读书笔记(第一章) 什么是数论?
- 基于Geomesa服务查询轨迹数据无法根据空间和时间范围进行查询的问题解决办法
- oracle税务运维脚本练习,荣欣Linux运维+Oracle DBA初级+高级全套实战训练
- CocoaPods出现The dependency `` is not used in any concret错误的解决方法
- JVM学习笔记② JVM运行时数据区域
- 基于STC单片机的两轮平衡车设计
- 西雅图华人码农生存实录
- 【算法千题案例】每日LeetCode打卡——93.宝石与石头