文档章节

Joomla模板开发-模版是如何执行的

 张敏樱木花道
发布于 2015/04/15 08:35
字数 792
阅读 23
收藏 0

Joomla模板开发-模版是如何执行的

    在本节中我们要解决的问题是 joomla的模版是怎样被执行的。

  joomla模版分两个阶段来执行的。因为模版通常是在document对象中执行的,所以在模版中的$this对象就是代表了JDocument类。

  在模板开始执行之前,组件会先被执行,并且将他生成的输出缓存起来。留待稍后使用。

    模版的执行具体过程:

  1、如果模板存在参数,就加载模版的参数

  2如果模版设定了语言,就加载语言文件

  3、检查是否开启了兼容模式,如果开启了兼容模式,那么就将配置变量复制到全局空间中

  4、PHP开始加载模版的index.php文件。并且执行index.php文件。将输出的结果缓存起来。

到此为止,就完成了模版的第一阶段。在<?php  和?>之间的代码都被作为php代码进行执行。在这个标签之外的代码就被直接输出。由于输出是在缓存中,所以在这个阶段中客户端浏览器并不会输出任何东西。

 5、开始寻找favicon.ico文件。开始在joomla的根目录下寻找,然后在模版的根目录下寻找,如果在模版中找到了favicon.ico文件,那么就将前者进行覆盖。

6、分析第一阶段缓存的内容,开始解析<jdoc:include>元素。这就标志进入了第二阶段。对于每一个找到的jdoc元素,对 应的渲染类将被自动加载,并且调用这个类的render方法,进行渲染。渲染类输出的内容将会替换<jdoc :include>中的内容。在模型的渲染类中将会触发模块的执行,并且加执行结果进行缓存。(注:所谓的渲染就是输出html代码

7、指定的模版头被添加到模版的输出头列表中

8、系统将控制权交给JApplication对象,这个对象将会负责处理获得新的页面,并且将新的内容返回给浏览器。

这样整个输出过程就完成了。

 我们需要思考的问题是,这个过程说明了什么?
对我们写代码有什么帮助?

首先这段话解释了模板文件的$this代表了什么,他代表了JDocuemnt。那么也就是说我们可以在模板的主文件中操作文档对象。比喻说得到当前文章的标题都很容易做到。另一方面,他也说明了一个执行顺序的问题。首先会执行php代码,然后才解析<jdoc:include>标签。

这是我们的网站http://www.zmax99.com,里面有很多免费的开源资料,欢迎joomla爱好者前去下载。zmax程序人-----中国joomla开发团队!


© 著作权归作者所有

共有 人打赏支持
粉丝 4
博文 39
码字总数 23654
作品 0
南宁
Joomla模板实战开发第二篇

Joomla模板实战开发第二篇 现在我想在我的首页展示一个紧急通知的部分。要求可以从网站的后台手动输入通知的内容,也可以从文件读取内容显示。 模块开发过程: 在joomla中做开发,扩展的名称...

张敏樱木花道
2015/03/20
545
0
免费joomla商城+网银支付+支付宝支付+pay+微支付

ZMAX轻量级Joomla商城组件: 支持Joomla2.5 国产开发。由南宁市程序人软件科技有限责任公司ZMAX团队负责开发维护。我们承诺为所有的用户提供长期可靠的服务。 支持自定义模板 支持支付宝付款...

张敏樱木花道
2015/09/21
588
0
CVE-2018-6376:Joomla!二阶SQL注入漏洞

     Joomla!是一套全球知名的内容管理系统。去年,在500000行代码中发现一个LDAP注入漏洞。攻击者利用LDAP注入漏洞可以完全控制依赖LADP进行认证的版本号小于v3.7.5的Joomla! 版本。  ...

嘶吼RoarTalk
03/06
0
0
如果wordpress和joomla一定选一个的话,还是选joomla

如果wordpress和joomla一定选一个的话,还是选joomla。当然,这2个产品都不怎么适合B2C网站。 Joomla 与 Drupal 一样可以迅速把一个简单的网站变成一个社会性的博客。Joomla 也有非常活跃的用...

Sem怪怪
2013/09/21
0
0
公司,可能要被强迫使用CMS,比如Joomla,要不要跟上面说抛弃CMS是必然结果

刚刚主管发了个Joomla的代码过来让我找个好看的后台安装。 之前除了以前认识dedecms,phpcms之类简单的cms之外,很少接触Joomla这种庞大的东西,可能我刚接触Joomla,有点害怕。 连个模板都要...

吴冠中
2012/03/15
3.3K
10

没有更多内容

加载失败,请刷新页面

加载更多

下一页

day63-20180821-流利阅读笔记-待学习

性别歧视在日本:“我是女生,所以社会不让我学医” 毛西 2018-08-21 1.今日导读 大家在看病的时候,有留意过女医生的比例吗?在性别歧视现象十分严重的日本,男医生和女医生的比例达到了惊人...

aibinxiao
49分钟前
2
0
Ubuntu18.04 显卡GF-940MX安装NVIDIA-390.77

解决办法: 下面就给大家一个正确的姿势在Ubuntu上安装Nvidia驱动: (a)首先去N卡官网下载自己显卡对应的驱动:www.geforce.cn/drivers (b)下载后好放在英文路径的目录下,怎么简单怎么来...

AI_SKI
今天
4
0
深夜胡思乱想

魔兽世界 最近魔兽世界出了新版本, 周末两天升到了满级,比之前的版本体验好很多,做任务不用抢怪了,不用组队打怪也是共享拾取的。技能简化了很多,哪个亮按哪个。 运维 服务器 产品 之间的...

Firxiao
今天
1
0
MySQL 8 在 Windows 下安装及使用

MySQL 8 带来了全新的体验,比如支持 NoSQL、JSON 等,拥有比 MySQL 5.7 两倍以上的性能提升。本文讲解如何在 Windows 下安装 MySQL 8,以及基本的 MySQL 用法。 下载 下载地址 https://dev....

waylau
今天
2
0
微信第三方平台 access_token is invalid or not latest

微信第三方开发平台code换session_key说的特别容易,但是我一使用就带来无穷无尽的烦恼,搞了一整天也无济于事. 现在记录一下解决问题的过程,方便后来人参考. 我遇到的这个问题搜索了整个网络也...

自由的开源
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部