服务报价 | 域名主机 | 网络营销 | 软件工具| [加入收藏]
 热线电话: #
当前位置: 主页 > php教程 > zencart教程 >

zencart系统的结构与运行流程

时间:2016-01-20 15:40来源:未知 作者:最模板 点击:
encart开源程序是一个面向过程的逻辑模板分离的MVC开源程序,并且是单入口程序,什么叫单入口,这个很容易理解。如果你没有安装SEO插件的话,你看到的所有的页面的URL都是以index.

encart开源程序是一个面向过程的逻辑模板分离的MVC开源程序,并且是单入口程序,什么叫单入口,这个很容易理解。如果你没有安装SEO插件的话,你看到的所有的页面的URL都是以index.php?main_page=来做为入口的,所以不了解的人就以为他只有一个页面(也可以这样理解),其实它这种结构也正是他优点所在,index.php页面就像一个入口,根据后面不一样的参数来决定进入不同的程序处理。而这个页面就起到了分发任务的作用,所有的页面都可以通过它后面的参数来实现。这样就解决的复杂而且不容易管理的多入口程序的问题。

而它这种结构特别适合模块化开发,而这个系统其实就是这样。如果你要修改商品页面的实现内容,就可以找到该页面相关的代码模块,在zencart里面就是product_info这个模块,如果你要修改,就可以快速的找到该页面的模块信息,其实模块里面主要的就是查询数据库,获取相关信息。模块的文件就放在includes/modules目录下面。

而如果是页面就找到该目录下面的pages/目录,而如果是边框就可以找到sideboxes/目录下面,其他的顾名思义就可以了。

按照这样的理解就可以加快对zencart系统的了解。从模块里面获取了信息以后就要到前台文件里面显示了,所以接下来就是到includes/templates/你的模板/templates目录下找到对应的tpl_文件,修改该模板文件就达到我们修改的目的。这个就是大概的流程。

下面说说zencart程序从入口程序到最终页面显示的具体加载流程:

1、首先通过入口文件index.php,里面引入includes/application_top.php公共文件加载系统;

2、在includes/application_top.php公共文件中,首先初始化系统参数及引入配置文件,接着加载includes/extra_configures文件夹中的自定义配置文件。

3、接着通过includes/initsystem.php(默认includes/auto_loaders/config.core.php)引入includes/classes文件夹中的各种系统类及其顺序(这边也可以自定义文件来,引入第三方的类;也可以通过在文件夹overrides文件夹里面新建文件来覆盖它)。

4、接着通过includes/autoload_func.php文件对initsystem.php中加载的类按顺序初始化类对象、包含脚本文件、加载初始化文件、运行类函数等来达到加载zencart系统;

5、加载了系统后,开始引用对应页面文件夹中(includes/modules/pages/页面/)的header_php开头的文件;

6、接着引入模板文件夹中的(html_header.php)文件和(main_template_vars.php)文件

7、接着定义加载(includes/modules/pages/页面/)和前端的js文件;

8、通过tpl_main_page.php文件加载全页面。

9、在init_includers中init_db_config_read.php来加载文件常量、数据库名常量、及extra_datafiles额外定义的一些常量;

了解了系统的流程,接下来就有利于模板的二次开发了。

默认的zencart页面由5部分组成,分别是

页面头部--模板文件为includes/templates/你的模板名/common/tpl_header.php
页面主体--模板文件为includes/templates/你的模板名/common/tpl_main_page.php
      页面主体下分为左、中、右三部分。可以有选择的控制zencart网页的栏目个数。
      左边框--模块文件为 includes/modules/column_left.php
      中间部分模块--includes/templates/你的模板名/common/main_template_vars.php
      右边框--模块文件为 includes/modules/column_right.php
页面底部--模板文件为includes/templates/你的模板名/commontpl_footer.php

在做zencart模板二次开发的时候,如果了解了上述zencart系统的结构与运行流程,可以帮助我们快速制作优秀的zencart插件来。

(责任编辑:最模板)
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容