文档库 最新最全的文档下载
当前位置:文档库 › 1021 ecshop

1021 ecshop

1021 ecshop
1021 ecshop

ecshop讲解

目录

ecshop讲解 (1)

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

二、ecshop的介绍 (1)

三、ecshop的安装 (2)

1、下载软件包,并进行解压。 (2)

四、目录结构 (4)

五、ecshop里面的程序架构 (5)

六、小试牛刀 (6)

七、使用邮箱登陆: (11)

1、ecshop里面的数据库操作; (11)

2、如何实现通过邮箱登陆。 (12)

八、模板的替换 (16)

1、准备模板文件, (16)

2、完成首页 (17)

3、完成栏目页面的套用 (20)

4、在栏目页面取出栏目对应的数据 (21)

九、放大镜效果 (23)

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

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

三、ecshop的安装

1、下载软件包,并进行解压。

下载地址:

https://www.wendangku.net/doc/ca2573530.html,/download.php

2、新建一个虚拟主机:

3、把解压的upload目录拷贝到虚拟主机目录里面,根据虚拟主机的配置,改名为myshop

4、要修改ecshop里面的源代码,防止在高版本的php环境中出现一些提示。

(1)打开ecshop目录里面的includes目录下面的init.php文件

把error_reporting该为error_reporting(0)

(2)打开ecshop 目录下面的admin目录下面的includes目录下面的init.php文件,做同样的修改。

5、通过浏览器访问域名开始安装;

四、目录结构

admin:后台的程序及静态页

includes:公共的核心类库,比如数据库操作类、图片处理类、Smarty类以及常用的功能函数等。

themes:前台所有的静态页

mobile:手机客户端访问时的页面

install :安装目录

languages:语言包的目录(后台->商店设置->基本设置->系统语言)

temp:Smarty有关的目录,比如缓存,编译目录。

五、ecshop里面的程序架构

1:Ecshop属于面向过程+函数调用为主, 而且没用单入口模式具体的功能对应具体的页面. 2:用的模板引擎是简化的smarty模板.

ecshop的程序流程(MVC)及几个重要的目录

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

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

第三步:display一个静态页

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

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

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

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

视图层:themes/ 前台静态页

六、小试牛刀

修改面包屑导航的连接符。

(1)先在页面的源文件中找出显示面包屑导航的位置。

2、查找goods.php页面对应的模板文件。

3、打开goods.php对应的模板文件goods.dwt文件。

4、根据分析页面的源文件,在模板文件中查找id=”ur_here”的位置

找到的ur_here位置

通过分析goods.dwt文件,ur_here位置,是引入了ur_here.lbi文件。

注意:在ecshop的模板中,有很多被分割的小文件,存储在library目录下面。

面包屑导航的内容就存储在被分割的,ur_here.lbi文件中。

注意:

5、打开library目录下面的ur_here.lbi文件。

{$lang.ur_here}是一个语言包的内容,是显示“当前位置”字样的。

{$ur_here}是显示的面包屑导航的内容。

6、查找goods.php文件,找出分配的$ur_here变量:

在该文件中,肯定有一个$smarty->assign(‘ur_here’,$ur_here)的操作。

7、查找assign_ur_here的函数,

通过查找,在goods.php页面中,没有查找到assign_ur_here函数,因此需要在被引入的init.php文件中查找。

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

通过查找在init.php 文件中,没有查找到assign_ur_here,因此需要在init.php文件中引入的其他文件里面查找。

通过查找,在includes目录下面的lib_main.php文件中找到。

9、修改assign_ur_hrere函数。

如果修改完成后,没有效果,则需要进入后台,清除缓存。

最后效果如下:

作业:

(1)把标题里面的“powery by ecshop”字样去掉。(2)在页面的尾部把“powery by ecshop”字样去掉。

七、使用邮箱登陆:

1、ecshop里面的数据库操作;

$ecs->table('没有表前缀的表名')//获取具有表前缀的表名$row = $db->GetRow($sql);//返回的是一个一维数组。$db->getOne($sql);//是获取一个具体的值。

$db->getAll($sql);//是获取多行数据,是一个二维数组。

2、如何实现通过邮箱登陆。

思路:在ecshop里面默认是通过用户名完成登录的,

对输入的用户名进行判断,如果是一个邮箱,则根据该邮箱找出用户名。因为用户名和邮箱是一一对应的关系。

(1)修改会员登录的表单,把“用户名”改为”用户名或邮箱”

分析user.php页面,该页面是完成多个业务逻辑的。我们就找“显示登录”的哪个代码段。

查找对应的“用户登录”界面的,模板文件

(2)打开登录界面的模板文件:user_passport.dwt,找到显示用户名的位置,发现其是一个语言包内容。

打开对应的语言包文件,添加一个语言包。

语言包的文件在languages目录下面,默认支持3套语言包,

根据user.php文件的开头引入的语言包,找到对应的语言包文件。

因此我们就打开语言包对应的user.php文件,添加如下语言包。

(3)在“用户登录”的模板中使用该语言包

(4)在user.php文件中,查找处理用户登录的代码段。

注意:is_email是ecshop里面定义的一个函数,不是系统函数。

八、模板的替换

1、准备模板文件,

(1)把需要的模板文件的后缀改成ecshop支持的后缀格式:

(2)模板文件和样式文件是同级的,要和ecshop里面模板默认的布局一致。(3)要一个样式文件,style. css文件的前10行是该模板文件的说明。

(5)模板的缩略图文件:screenshot.png(该图片的宽度:200*150)

效果:

2、完成首页

把首页的模板文件后缀改名为.dwt的。

(1)取出首页里面的导航信息。

把模板中的头部信息单独摘出来,做成一个文件page_header.lbi

在index.dwt模板中使用如下标签引入;

(2)取出栏目的信息

第一步:把模板中显示栏目信息的代码移动到一个library/category_tree.lbi

再用 标签引入被分割的小文件。

第二步:找出默认模板中显示栏目的标签。

(3)在首页中取出精品数据

思路:查找默认模板中,显示精品商品的标签。

把我们自己的模板中,显示精品推荐商品的位置,添加标签:

3、完成栏目页面的套用

(1)查看栏目页面使用的模板名称

根据导航的连接,栏目页面的php页面是category.php页面。打开该页面查看对应的模板文件。

ecshop留言板增加字段说明

ecshop留言板添加一项必填项-联系人 一、首先要为你的数据库的ecs_comment增加一个字段以存储联系人姓名: 可以直接在后台-->数据库管理--->SQL查询里里直接执行以下sql语句: alter table ecs_comment add contact varchar(60) not null default ''; 此处注意,这条sql语句中的表前缀ecs_要和你网站的前缀一致,不然会报错,如果你不知道你ecshop网站的数据表前缀. 二: 步骤1. 更改文件message_board.dwt {$lang.message_board_qq}