博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
20150411--Dede二次开发-01
阅读量:4639 次
发布时间:2019-06-09

本文共 1679 字,大约阅读时间需要 5 分钟。

目录

一、目前市场流行的电子商城系统

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对象

posted on
2016-05-08 22:42  阅读(
...) 评论(
...) 收藏

转载于:https://www.cnblogs.com/lifushan/p/5472011.html

你可能感兴趣的文章
多媒体音量条显示异常跳动
查看>>
运算符及题目(2017.1.8)
查看>>
React接入Sentry.js
查看>>
ssh自动分发密匙脚本样板
查看>>
转 小辉_Ray CORS(跨域资源共享)
查看>>
Linux安装postgresql
查看>>
MyBatis启动:MapperStatement创建
查看>>
【 全干货 】5 分钟带你看懂 Docker !
查看>>
[转]优化Flash性能
查看>>
popStar手机游戏机机对战程序
查看>>
Java Web项目结构
查看>>
lambda表达式树
查看>>
OpenCV YUV 与 RGB的互转(草稿)
查看>>
二次注入原理及防御
查看>>
会话记住已登录功能
查看>>
Linux内核分析——可执行程序的装载
查看>>
儿子和女儿——解释器和编译器的区别与联系
查看>>
第一阶段冲刺3
查看>>
父类引用指向子类对象
查看>>
网页如何实现下载功能
查看>>