- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Zencart2次开发资料
Zencart二次开发资料(由 HYPERLINK zencart-magento论坛整理)
数据库分析
模块机制分析
admin后台管理目录
?cache 缓存目录
?docs 文档目录
download 用于存放下载类商品
editors 所见即所得编辑器
email 电子邮件模版目录
extras 测试文件目录
images 商品图片目录
includes 前台
media 媒体类商品目录
pub 公用目录(空)
?
includes里面的目录:
auto_loaders 自动加载的脚本
classes 主要的类函数
extra_cart_actions 空
extra_configures 第三方模块设置文件
extra_datafiles 第三方模块数据表名定义
functions 主要的功能函数
index_filters 过滤功能
init_includes 初始化功能
languages 语言文件包目录
modules 所有的模块目录
templates 模版目录
?
zencart与oscommerce在某中意义上很相似,可以看做是一个升级版,两者之间共用了很多相同的函数或类,不同的是他们是按照不同的方式组织在一起
?
zencart 采用摸板,单一文件index.php入口,后面跟参数,参数决定显示的内容,基本上网页变换的部分只是中间的主区域
?
重点介绍几个文件
?
includes目录,该目录无疑是zencart的核心(前台),
?
通常情况下index.php第一句话则是包含include目录下的application_top.php文件,如:require(includes/application_top.php);
?
在该系统中application_top.php负责的是初始化工作,比如加载配置文件include(includes/configure.php);如果系统程序没检测到该文件的存在则会尝试调用安装文件
?
,然后它会自动遍历include/extra_configures下的配置文件并包含进来
?
在加载了系统配置文件以后接下来是一个非常重要的文件,这也导致了zencart和oscommerce感觉上很大不同的原因(事实上都一回事)
?
首先调用一个文件require(includes/initsystem.php); 在initsystem.php中最先加载include/auto_loaders/config.core.php,config.core.php 是一个二围数组$autoLoadConfig,即以数组的形式保存文件的信息供后面文件调用,然后系统会接着加载完 include/auto_loaders目录下所有文件名匹配$loaderPrefix(默认为config)的文件
?
上 面程序执行完以后就可以加载自动执行程序了require(includes/autoload_func.php);在这里它会遍 历$autoLoadConfig数组,它最终执行的效果会包含所有必须用到的函数或者类的定义,还有变量的初始化,config.core.php里面 的注释比较清楚比如 $autoLoadConfig[0][] = array(autoType=class,loadFile=class.base.php);在 autoload_func.php里面执行完以后的效果就是require(DIR_WS_CLASSES . class.base.php),事实上本人是不赞成这种写法,大部分的初始化化工作是通过包含init_includes目录下的文件来实现的
?
如: $autoLoadConfig[110][] = array(autoType=init_script,loadFile= init_templates.php);它在执行完autoload_func.php文件后就已经加载了init_includes目录下的 init_templates.php
?
文件,由于里面包含的文件太多,在这就不做一一介绍了
?
下面我来介绍下zencart是怎么根据摸版把内容显示出来的
?
require(includes/application_top.php);初始化所以需要用到的公共信息以后接下来就应该是显示了
?
在index.php的第29行有句$directory_array = $template-get_template_part($code_page_directory, /^header_php/);
?
由于所有初始化工作已经完成,所有我们就可以在上面的文件找到他们的定义,如 $autoLoadConfig[100][] = array(autoTyp
文档评论(0)