phpcms模板生成原理2009-09-25 16:14PHPCMS是功能强大的网站管理系统。以后有时间,俺要将其管理、使用、再开发等等都理顺出来。这一篇短文先介绍PHPCMS的模板机制。

所谓网站模板,就是生成网页的“模子”,主要包括固定的图片、表格、颜色等美术风格,以及要从数据库输出的数据标签,还有简单的phpcms定义的语法(也可以是很复杂的php语法)。PHPCMS每个网站的每个栏目,都可以设置不同的模板,最终栏目的网页都是一个“模子”里出来的,应此这个栏目的网页外观、风格是一致的。

PHPCMS的模板按照模块功能,分别放在这些模块名字命名的目录下面,而其中最重要的内容栏目模板,如新闻、产品、信息、图片、下载、视频以及首页的模板则放到phpcms目录下面。

phpcms目录,header.html,footer.html是网站所有网页的页头和页尾模板,index.html则是网站首页模板。文件 category.html和list.html 是新闻模型的栏目首页和栏目列表页,由于phpcms认为新闻模型是最重要的吧,因此新闻模型的模板默认不要带后缀,其他模型的栏目首页和列表页则要带上后缀,如category-info.html,list-info.html,这是信息栏目模型的栏目首页、栏目列表页,其他类似。至于一些扩充模型,如黄页等,其模板则在\yp\目录下面。

下面说说模板生成网页的过程。

phpcms的网页允许生成静态网页和动态网页,不管是静态还是动态,风格都由模板限定。首先,网站管理员要把相应模型的模板放到模板目录下面,并在管理后台设定模板方案,确定后,phpcms将把模板编译为相应的php文件,保存到\data\cache_template 下面。编译过程实际上就几条语句,把模板中的phpcms语句转换为php语句,把数据标签翻译为sql数据库操作语句,这就成了标准的php文件,服务器可以直接执行了。对于动态网页来说,工作已经完成了。静态网页则还要做一次“置换”,执行php模板文件,按照php语法执行sql语句,把sql语句输出的结果再和模板结构部门组合成网页文件(html),并写到服务器空间里面。

这就是pgpcms系统的模板机制,灵活运用这个机制,可以设定不同子栏目灵活多变的模板。phper也要注意的是,直接改\data\cache_template\下面的php模板文件是没用的,必须改\templates\下面的静态模板。

转载于:https://www.cnblogs.com/jdxn/p/6832586.html

phpcms模板生成原理相关推荐

  1. 想自己学会做phpcms模板的进来看一下!

    想自己学会做phpcms模板的进来看一下! 希望大家不要去等待所谓的模板了 现在这社会共享都不是绝对的 你们可以参考官方的教程 自己学着做 可能开始时不是那么容易 但是也不是很难 只有自己掌握技术 才 ...

  2. phpcms 模板中php代码,PHPCMS 模板制作教程 黑夜之舞出品

    第一讲:了解PHPCMS2008模板的位置及结构 首先从官网把phpcms2008最新版本下载下来,并安装好.安装好之后在后台里的网站配置--基本信息那 生成文件扩展名 html设置好,然后更新首页和 ...

  3. ecshop模板的原理分析

    模板的原理 类似Smarty/ECShop这类模板的原理如下图所示. 1.首先是编译模板ECShop/Smart是利用PHP引擎,所以编译的结果是一个PHP文件,其编译过程就是 将分隔符{}替换成PH ...

  4. php模板引擎哪个好,php模板引擎原理是什么?

    php模板引擎原理是作为视图层和模型层分离的一种有效解决方案,让前后端更好的分工协作,来自于经典的MVC模型,即[模型层-视图层-控制器模型],将M和V实现代码分离,从而使同一个程序可以使用不同的表现 ...

  5. 写一个迷你版Smarty模板引擎,对认识模板引擎原理非常好(附代码)

    前些时间在看创智博客韩顺平的Smarty模板引擎教程,再结合自己跟李炎恢第二季开发中CMS系统写的tpl模板引擎.今天就写一个迷你版的Smarty引擎,虽然说我并没有深入分析过Smarty的源码,但是 ...

  6. php 模板解析,关于模板的原理和解析

    PHP – 关于模板的原理和解析 将PHP代码和静态HTML代码进行分离,使代码的可读性和维护性得到显著提高. 使用模板引擎: 我们所说的模板是web模板,是主要由HTML标记组成的语言来编写的语言, ...

  7. phpcms建站,phpcms安装,phpcms模板,phpcms教程,phpcms学习

    phpcms建站,phpcms安装,phpcms模板,phpcms教程,phpcms学习,如何发布网站到外网,如何解决80端口问题.动态IP.甚至无公网IP问题. 一.环境准备 1.本机调试 本机调试 ...

  8. Android 使用模板生成Word文档,支持手机直接查看word

    最近在项目工作中,碰到一个很棘手的需求,说是要在手机端根据模板生成word文档,而且不借助第三方的软件可以查看word文档,一开始听这个需求差不多蒙了,这要怎么做,为什么不把生成word文档这个工作放 ...

  9. tornado模板引擎原理

    前言 老师问小明:已经a=1, 求a+1的值. 小明挠挠头,思考后回答:老师,a+1的结果是2. 以上是一个非常简单的例子,实际上就是一个模板编译过程. a=1,表示一个命名空间(namespace) ...

最新文章

  1. 头条创始人张一鸣没有任何大厂经验,是怎么做出这么厉害的产品的呢,以及管理这么大的团队呢?...
  2. 这交互炸了 - 收藏集 - 掘金
  3. iicFPGA程序及仿真
  4. 年轻人(以我为例)最应该做的事情(个人观点)
  5. GNU源码安装借用YUM排除故障
  6. Django之orm查询
  7. hystrix 源码 线程池隔离_Hystrix源码学习--线程池隔离
  8. 【算法设计与分析】02 货郎问题与计算复杂性理论
  9. 全面拥抱云原生应用研发的拐点已经到来
  10. xencenter如何安装Centos7虚拟机系统
  11. 华为认证 HCNA­Cloud 云计算题库
  12. 物联网产业链全景图(附另13大电子行业全景图,必收藏)
  13. matlab循环求微分方程,MATLAB解微分方程
  14. linux常见维护命令报错,Linux系统维护命令小结.ppt
  15. 无法更新 EntitySet“Ips_Articles”,因为它有一个 DefiningQuery,而 ModificationFunctionMapping 元素中没有支持当前操作的 Inse...
  16. bootstrap-select 的多选+模糊查询下拉框详解
  17. Code For Better 谷歌开发者之声——使用谷歌浏览器 Chrome 更好地调试
  18. PCB板上的白色残留物怎么来的呢?
  19. 【寒假学习】考研高数第二章-导数与微分
  20. 详细分析PHP源代码后门事件及其供应链安全启示

热门文章

  1. 浅谈UpdatePanel
  2. CentOS 7 中使用NTP进行时间同步
  3. serverlet分页
  4. ApplicationRunner用法
  5. Oracle—deallocate unused释放高水位空间(二)
  6. cocosstudio3.10版本 Armature控件(关于cocous2D游戏制作中使用特效的一种方法)
  7. JAVA源码学习--String
  8. GetParent、SetParent、MoveWindow - 获取、指定父窗口和移动窗口
  9. 那些年,拒绝过马云马化腾的大佬们,都混成什么样?
  10. 常见的CPA项目推广引流套路小合集