找回密码
 立即注册
搜索
查看: 11|回复: 0

[模板机制] Discuz! 的模板机制-模板缓存与CSS缓存

[复制链接]

59

主题

0

回帖

196

积分

管理员

积分
196
发表于 4 天前 | 显示全部楼层 |阅读模式
模板缓存
模板缓存存放:所有的模板缓存均被解析成php文件存放在 ./data/template 中,以 “数字_模板标示符组合.tpl.php”形式保存
页面缓存刷新原理:当开发者编辑过模板文件之后,Discuz! 模板解析器会匹配模板htm文件缓存php文件的最后修改时间,如过模板html文件较新或无缓存文件,则更新或生成缓存,不新,则不采取任何动作
手动删除此目录的缓存不会影响Discuz!系统的整体运行,Discuz! 模板缓存仍然会进行自动生成
CSS缓存
CSS缓存存放:./data/cache/目录中,以 “style_风格自增编号_应用入口关键字_所在页面的mod值.css”形式保存
自建新套系模板文件可以通过创建 ./template/mytest/common/extend_common.css 或 extend_module.css 进行CSS扩展
其中这两个文件的CSS样式脚本会通过 Discuz! 模板解析将风格常量统一赋值进去并合将CSS脚本复制出来放入 ./template/default/common/common.css 和 module.css 所对应的缓存中去,方便站点运行时引用
extend_module.css 系统解析与缓存存放:
其中可以使用下面的书写方法:
  • /** forum::index,forum::forumdisplay **/
  •     .mycss {font: {FONTSIZE} {FONT};}
  • /** end **/
  • 上面的写法含义是:针对 forum 的 indexforumdisplay 追加一个自定义的CSS样式 “mycss“ ,Discuz! 模板解析将会根据 forum::index 的关键词将 mycss 分别追加在“./data/cache/style_2_forum_index.css”和“./data/cache/style_2_forum_forumdisplay.css”中(里面的数字2,根据新增的风格编号而定)
  • 这样的写法好处就是,不变更默认模板的情况下有效的扩展CSS,并可以很好的进行多站点移植

CSS 继承规范
Discuz! X系列产品中 CSS 文件会在缓存时按照以下顺序进行合并:
  • template/default/*.css 文件
  • 当默认模版是非默认模版时,template/模版目录/extend_.css 文件 或 template/模版目录/.css
  • 当某插件启用时,source/plugin/插件目录/template/extend_*.css 文件
因此非默认模版目录中的 CSS 属性将继承默认模版中的 CSS 属性,插件目录中的 CSS 文件将继承前二者的 CSS 属性
  • CSS 自身的集成顺序为:当 CSS 属性名称相同时,CSS 文件中,写在后面的替换前面的代码

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|徐闹闹 ( 苏ICP备2024071704号-4|苏公网安备32108402000796号 | 电子营业执照亮照 )

GMT+8, 2025-7-17 23:17 , Processed in 0.109635 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表