模板机制

2024-07-17 23:44 更新

为了获取更多最新内容及功能更新,请直接访问我们的首页以查看DzzOffice笔记的最新地址。

DzzOffice拥有完善的模版机制,支持模版和程序的分离,方便模版风格的扩展开发。

先说Dzz模版机制!非常重要!非常重要!非常重要!

Dzz在运行时,您可能会觉得是直接调用data/templete目录下的模板,然后您修改了该目录下的模板,并看到了立竿见影的效果,但您已经陷入了陷阱!

data/templete目录下的同名模板文件仅仅是系统缓存。过一段时间后,系统会自动回收它们。这绝对是一个大陷阱!

如果不事先说明的话,你幸幸苦苦修改了data/templete下的的模版,过段时间系统自动就让你突然回到解放前,血的教训!

说明

通常,模板文件存放在template目录下,文件格式为htm。调用模板的形式如下:

include template('common/index');

其中

common

为当前模块template目录下的子目录名称,

index

为模板文件名称。如在template目录下

common

可省略,即:

include template('index');

此时,Dzz模板引擎主要进行了如下的行为:

  • 根据传入的参数计算得到完整的文件路径和名称(有关更多参数,请参阅 /core/function/function_core.php 中的 template 函数)
  • 检查文件是否存在以及解析之后的模版缓存是否存在及是否已经过期
  • 根据上一步的判定,决定是否进行模板解析。若未解析,将解析后的可执行文件存入 /data/template/ 目录下以备调用
  • 返回解析后的模板文件地址并加载
  • 加载成功

注意:

请确保 /data/template/ 目录具有写入权限。在后台更新模板缓存时,该目录将被清空。若没有权限,可能会导致模板无法加载或无法更新。

模板重用机制

DzzOffice具备模板重用机制(三重重用机制)。程序调用模板时,将优先寻找当前层,当程序调用模板时,将优先搜索当前层,例如应用 dzz/test,将搜索 test 对应目录下的 template 目录中的模板文件。如果未找到,将向上搜索 dzz 下的模板目录。如果仍然无法找到,将调用 /core/template/default/common/ 目录下的模板文件。其中找到任意一层将不再向上查找。

模板缓存机制

DzzOffice采用预编译的模板缓存机制。在程序调用模板过程中,将首先检测是否存在缓存。如果存在已编译的模板文件,则直接调用编译后的模板缓存(位于 /data/template/ 目录中)。否则,将进行一次模板编译。 模板编译的工作原理如下:


模板套系与风格区别

模板套系:统一的一类模板,集中放置并打包的系列。模板风格:使用某个模板套系代码,仅改变其中变量设置的一个方案。(默认一个模板套系下就一个风格方案,通过“复制”功能,可以复制出不同的风格,进行不同的设置,比如改变logo设置)

模板风格(框架)


框架说明

container 容器(整个界面) ├── commer_header 头部 │ ├── header_left 左侧 │ ├── header_search 中间 │ └── header_right 右侧 │ ├──notificationapp_ajax 应用中心 │ ├──notification 通知 │ └──navmenu 导航菜单 ├── left 左侧边栏 ├── main-container 正文容器 │ ├── main-header 正文头部 │ └── main-content 正文主体 └── right 右侧边栏

以下是对该结构的介绍:

  1. container(容器):这是整个界面的最外层容器,用于包裹并承载页面的所有内容。
  2. commer_header(头部):位于页面顶部,通常包含网站的logo、导航链接、搜索框等重要元素。
  3. header_left(左侧):位于头部区域的左侧,通常包含网站的logo、应用名等重要元素。
  4. header_search(中间):在头部区域占据中间位置,通常包含搜索框或类似的功能模块。
  5. header_right(右侧):位于头部区域的右侧,通常包含用户登录状态、通知、应用中心、语言选择等重要元素。
  6. app_ajax(应用中心):位于头部区域的右侧,这是一个特殊的模块,用于展示应用库。
  7. notification(通知):位于头部区域的右侧,这是一个特殊的模块,用于展示通知信息,与AJAX技术结合使用以实现动态内容更新。
  8. navmenu(导航菜单):位于头部右侧的头像区域,提供语言选择、退出登录、用户中心、关于等重要元素。
  9. left(左侧边栏):页面左侧的边栏区域,通常包含分类导航、侧边广告、导航链接或其他辅助信息。
  10. main-container(正文容器):页面主要内容的区域,是用户访问网站时最关注的部分。
  11. main-header(正文头部):位于main-container内部,是正文内容的标题或引导部分。
  12. main-content(正文主体):位于main-container内部,是页面主要内容的区域,展示网站的核心信息或功能。
  13. right(右侧边栏):位于页面右侧的边栏区域,通常包含广告、相关链接或其他补充信息。

注意

修改以上内容后需要再后台清理缓存才能生效,并且在实际使用中,以上模板文件及内容可有可无。


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号