20150411--Dede二次开发-01

image

目录 php

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

2、ecshop的介绍 1 sql

3、安装 2 数据库

4、echsop 的目录结构 5 浏览器

5、分析ecshop里面程序的架构 5 服务器

6、小试牛刀把面包屑导航改为两个大于号 6 网络

1、根据php页面找出该页面对应的模板。 6 session

2、找到category.dwt模板文件,打开找到面包屑导航的位置 6 架构

3、在library目录中找出  ur_here.lbi文件 7 函数

7、init.php文件分析 9

8、完成在用户登陆是, 可使用邮箱登陆。 11

9、完成余额显示: 15

10、在添加新商品的时候,添加一个seotitle,便于在商品的详情页面显示。 17

11、套模板 20

1、把模板文件拷贝到themes目录下面。模板的样式和图片的路径要和ecshop里面默认的一致 20

2、在模板文件中取出导航信息。 21

3、显示出商品的分类 22

4、取出热销排行 24

5、取出精品推荐数据 25

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

Ecshop

shopNC(代码部分加密)

国外:zencart,magento(麦金斗)

通常在外贸的公司,用zencart,magento用的多一些.

Magento是基于zendframework来开发的.

2、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

3、安装

一、下载解压,把upload目录拷贝网站的根目录(虚拟主机目录)

wpsB619.tmpwpsB61A.tmpwpsB61B.tmpwpsB61C.tmpwpsB62D.tmpwpsB62E.tmpwpsB63F.tmp

二、配置一个虚拟主机

wpsB65F.tmp

三、若是你的php的版本比较高,则屏蔽一些输出提示错误。

wpsB66F.tmp

打开includes目录下面的init.php文件

wpsB680.tmp

wpsB6A0.tmp

wpsB6B1.tmp

在打开后台目录(admin)的init.php文件。

wpsB6D1.tmp

四、执行安装,在浏览器里面访问域名便可。

wpsB6D2.tmp

4、echsop 的目录结构

wpsB6E3.tmpwpsB6E4.tmpwpsB6E5.tmpwpsB6F5.tmpwpsB6F6.tmpwpsB6F7.tmpwpsB6F8.tmpwpsB709.tmpwpsB70A.tmpwpsB70B.tmpwpsB72B.tmp

5、分析ecshop里面程序的架构

1:Ecshop属于面向过程+函数调用为主, 并且没用单入口模式具体的功能对应具体的页面.

2:用的模板引擎是简化的smarty模板.

第一步:包括include/init.php,进行数据库以及smarty等的初始化工做

第二步:调用相关函数从数据库中取数据,而后Assign

第三步:display一个静态页

总结:也是一个MVC的架构,只不过不是纯OOP的,也不是单一入口的。

纯OOP:全部的东西必须属于一个类,不能游离在类的外面。

控制器: 根目录下的php文件

模型层:includes/下的一些以lib_开头的文件,如:lib_article:文件相关操做。

视图层:themes/ 前台静态页

6、小试牛刀把面包屑导航改为两个大于号

wpsB73C.tmp

一、根据php页面找出该页面对应的模板。

wpsB74D.tmp

wpsB75D.tmp

二、找到category.dwt模板文件,打开找到面包屑导航的位置

思路:根据在静态页面分析:只需在模板中找到<div id=”ur_here”>位置,便可找到。

wpsB77D.tmp

经过分析,导航是在library目录下面的ur_here.lbi文件中,

wpsB78E.tmp

三、在library目录中找出  ur_here.lbi文件

发现导航的输出是经过{$ur_here}变量输出的

wpsB78F.tmp

说明在php页面中一定有一个$smarty->assign(‘ur_here’,);

wpsB7AF.tmp

搜索当前没有该函数,说明该函数是在其余页面中定义的。

打开init.php文件,经过该文件中require的其余文件进行查找

wpsB7C0.tmp

最后发现是在lib_main.php文件中的。

wpsB7E0.tmp

本身练习 :去掉标题里面的powered by echsop字样。

wpsB7F1.tmp

7、init.php文件分析

一、定义一个根目录,便于引入其余的文件。

wpsB7F2.tmp

二、判断是否安装
wpsB822.tmp

三、初始化设置,当没有权限修改服务器在中的php.ini文件时能够本身在页面经过ini_set函数来完成修改。

wpsB832.tmp

四、判断魔术引号是否开启,若是没有开启则要自定义函数完成数据的过滤。

wpsB833.tmp

$sql=”select * from user where username=’$username’#’ and password=’$password’”;

五、初始化数据库的类

wpsB854.tmp

$ecs->table('sessions_data')//返回参数的实际表名

六、载入语言包文件目录

wpsB855.tmp

七、判断访问来者

wpsB875.tmp

wpsB895.tmp

八、建立smarty对象

wpsB8A6.tmp

相关文章
相关标签/搜索