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

[Discuz! X5.0 开发技术文档] Discuz! X5.0 开发技术文档-新增模板接口

[复制链接]

59

主题

0

回帖

196

积分

管理员

积分
196
发表于 4 天前 | 显示全部楼层 |阅读模式
细胞模板
细胞模板为全新的模板元素封装机制,可将复杂的模板内容封装为一个 {cell}、{cells} 标记。其中 {cells} 还支持站长自定义模式,站长在后台可随意 DIY。
{cell}
{cell} 为细胞模板的最小元素,可以将模板中的任何内容写于其中,调用方直接写 {cell}。
格式:
  • {cell file}
file 为文件名,对应 /template/xxx/cell/ 目录下的文件,支持多级目录,文件扩展名目前固定为 .htm。文件中直接填写“细胞体”内容代码即可。
{cells}
{cells} 中可以组合多个 {cell} 元素,可将多个包含 {cell} 的组合再次拼接为一个大的细胞模板。
格式:
  • {cell file}
file 为文件名,对应 /template/xxx/cell/ 目录下的文件,支持多级目录。
扩展名为 .htm 的模板文件规则同 {cell},里面可以包含 {cell}。
扩展名为 .php 的模板文件需要书写成 class 类,具体参考“template/default/cells/forum/portal/”目录下的文件。
聚合首页
聚合首页设置位于后台“论坛”->“聚合首页”,全新的首页可自定义主题列表展示的规则。设置后可配合细胞模板在后台即可进行 DIY 调整。
模板变量
模板变量完全复刻了插件变量的机制,模板开发者可以直接为自己的模板设计一套参数设置后台,而无需再用插件配合。
设计
开启了开发模式后,模板列表会出现“设计”按钮,点击后进行编辑操作,变量类型与插件变量完全一致。同时还增加了下面 2 个布局分类:
  • 标题栏:标题栏可为多个设置项增加一个小标题;
  • 分组:分组可为多个设置项进行通过多页切换的方式进行分组,分组会按照设置的显示顺序为设置项进行页面拆分。使用分组时,顺序的第一个项目必须是分组类型;
导出
增加了模板变量的设置后,可重新导出,导出后的 XML 将包含模板变量的内容。
版本号
由于增加了模板变量的功能因此导出的 XML 中可以设置一个 version 的风格变量,标记版本的变化:
  • <root>
  •     ...
  •     <item id="Data">
  •     ...
  •     <item id="style">
  •         <item id="version"><![CDATA[1.0]]></item>
  •         ...
  •     </item>
  •     <item id="var">
  •         ...
  •     </item>
  •     ...
  • </root>
DIY 支持手机版
X5.0 已支持手机版 DIY,您可以按照设计 PC DIY 模板的方式给 touch 目录下的模板文件添加 DIY 元素内容。
语言包扩展
X5.0 的模板文件中可以写自定义的语言包扩展文件,这样在您设计的模板中可以通过“{lang xxx}”语法直接调用您自定义的语言文字,语言包扩展文件为 /template/i18n/SC_UTF8/lang_template.php
  • $lang = [
  •     'nice' => '不错!',
  • ];
XML 中的 name、tplname、copyright、version、var.title、var.description、var.extra 可以写进 $lang 中
同时,语言包扩展也兼容 i18n,可以针对相应的 i18n 语言定制额外语种的语言包,兼容 i18n 的扩展文件位为 /template/xxx/i18n/en/lang_template.php
  • $lang = [
  •     'nice' => 'nice!',
  • ];
JS 语言包
模板同样拥有 JS 语言包,关于 JS 语言包的说明参考 “新增插件接口” 中的说明
页面组件、模块组件
在 X5.0 中,您可以把做好的 DIY 整体页面以及模块进行导出放到指定目录。这样用户如果安装了您的模板, 当 DIY 的时候无论当前在哪个模板都可以直接看到您导出的 XML 文件进行导入。这样您可以做一个完整的页面,或者各种页面模块给站长随时给网站添加元素
页面组件,请导出页面的完整配置 XML 文件,将文件放到 /template/xxx/portal/diyxml/page 目录下
模块组件,请导出框架的 XML 文件,将文件放到 /template/xxx/portal/diyxml/module 目录下
同时附带同名的 jpg 文件作为预览图,此图大小 80x60,如 XML 文件名为 abc.xml 那么预览图文件名为 abc.jpg
xml 中可以额外附加一个 name 标记作为组件的名字,如不带此标记默认使用文件名
  • <!--[name]超帅门户首页[/name]-->
  • <?xml version="1.0" encoding="ISO-8859-1"?>
  • <root>
  • ....

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

本版积分规则

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

GMT+8, 2025-7-17 23:00 , Processed in 0.133916 second(s), 37 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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