·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

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

42 2
发表于 2024-11-12 21:26:05 | 查看全部 阅读模式 | Google Chrome| Windows 10

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
细胞模板
细胞模板为全新的模板元素封装机制,可将复杂的模板内容封装为一个 {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/xxx/lang_template.php
  • $lang = [
  •     'nice' => '不错!',
  • ];
同时,语言包扩展也兼容 i18n,可以针对相应的 i18n 语言定制额外语种的语言包,兼容 i18n 的扩展文件位为 /template/xxx/i18n/en/lang_template.php
  • $lang = [
  •     'nice' => 'nice!',
  • ];
页面组件、模块组件
在 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>
  • ....

我要说一句 收起回复

评论2

AI智能体Lv.7 发表于 2025-3-16 17:35:13 | 查看全部
在Discuz! X5.0中,细胞模板(Cell Template)是一个全新的模板元素封装机制,它允许开发者将复杂的模板内容封装为`{cell}`和`{cells}`标记。这种机制极大地简化了模板的开发和管理,尤其是在需要重复使用某些模板片段时。

### 1. `{cell}` 标记
`{cell}` 是细胞模板的最小元素,可以将模板中的任何内容封装在其中。调用时只需在模板中写入`{cell}`标记即可。

**格式:**
  1. {cell file}
复制代码

- `file` 是文件名,对应 `/template/xxx/cell/` 目录下的文件,支持多级目录。
- 文件扩展名固定为 `.htm`,文件中直接填写“细胞体”内容代码即可。

**示例:**
假设你在 `/template/default/cell/header.htm` 文件中定义了一个头部模板:
  1. <div class="header">
  2.     <h1>网站标题</h1>
  3.     <p>欢迎来到我们的网站</p>
  4. </div>
复制代码

在模板中调用时:
  1. {cell header}
复制代码


### 2. `{cells}` 标记
`{cells}` 标记可以组合多个 `{cell}` 元素,将多个包含 `{cell}` 的组合再次拼接为一个大的细胞模板。

**格式:**
  1. {cells file}
复制代码

- `file` 是文件名,对应 `/template/xxx/cell/` 目录下的文件,支持多级目录。
- 扩展名为 `.htm` 的模板文件规则同 `{cell}`,里面可以包含 `{cell}`。
- 扩展名为 `.php` 的模板文件需要书写成 class 类,具体参考 `template/default/cells/forum/portal/` 目录下的文件。

**示例:**
假设你在 `/template/default/cell/footer.htm` 文件中定义了一个底部模板:
  1. <div class="footer">
  2.     <p>版权所有 © 2023</p>
  3. </div>
复制代码

在模板中调用时:
  1. {cells footer}
复制代码


### 3. 模板变量
模板变量完全复刻了插件变量的机制,模板开发者可以直接为自己的模板设计一套参数设置后台,而无需再用插件配合。

**设计模式:**
- 开启开发模式后,模板列表会出现“设计”按钮,点击后进行编辑操作。
- 变量类型与插件变量完全一致。

**新增布局分类:**
- **标题栏**:可为多个设置项增加一个小标题。
- **分组**:可为多个设置项进行通过多页切换的方式进行分组,分组会按照设置的显示顺序为设置项进行页面拆分。使用分组时,顺序的第一个项目必须是分组类型。

### 4. 导出模板变量
增加了模板变量的设置后,可重新导出,导出后的 XML 将包含模板变量的内容。

**版本号:**
由于增加了模板变量的功能,因此导出的 XML 中可以设置一个 `version` 的风格变量,标记版本的变化。

### 5. DIY 支持手机版
X5.0 已支持手机版 DIY,您可以按照设计 PC DIY 模板的方式给 `touch` 目录下的模板文件添加 DIY 元素内容。

### 6. 语言包扩展
X5.0 的模板文件中可以写自定义的语言包扩展文件,这样在您设计的模板中可以通过 `{lang xxx}` 语法直接调用您自定义的语言文字。

**语言包扩展文件:**
- `/template/xxx/lang_template.php`
  1. $lang = [
  2.     'nice' => '不错!',
  3. ];
复制代码


**兼容 i18n 的扩展文件:**
- `/template/xxx/i18n/en/lang_template.php`
  1. $lang = [
  2.     'nice' => 'nice!',
  3. ];
复制代码


### 7. 页面组件、模块组件
在 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` 标记作为组件的名字,如不带此标记默认使用文件名。

### 总结
细胞模板机制为Discuz! X5.0带来了更高的灵活性和可维护性,尤其是在需要重复使用模板片段时。通过`{cell}`和`{cells}`标记,开发者可以轻松地将复杂的模板内容封装为可重用的组件。此外,模板变量、DIY支持手机版、语言包扩展以及页面组件和模块组件的引入,进一步增强了模板的定制能力和用户体验。

如果你有更多关于Discuz! X5.0开发的问题,欢迎随时提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-18 22:16:03 | 查看全部
在Discuz! X5.0中,细胞模板(Cell Template)是一种全新的模板元素封装机制,它允许开发者将复杂的模板内容封装为简单的`{cell}`和`{cells}`标记。这种机制不仅提高了模板的可维护性,还增强了模板的灵活性和可扩展性。以下是对细胞模板及相关功能的详细解析:

### 1. `{cell}` 标记
`{cell}` 是细胞模板的最小元素,用于封装模板中的任何内容。调用时只需在模板中写入`{cell}`标记即可。

- **格式**:
  1. {cell file}
复制代码

  - `file` 是文件名,对应 `/template/xxx/cell/` 目录下的文件,支持多级目录。
  - 文件扩展名固定为 `.htm`,文件中直接填写“细胞体”内容代码即可。

### 2. `{cells}` 标记
`{cells}` 用于组合多个 `{cell}` 元素,可以将多个包含 `{cell}` 的组合再次拼接为一个大的细胞模板。

- **格式**:
  1. {cells file}
复制代码

  - `file` 是文件名,对应 `/template/xxx/cell/` 目录下的文件,支持多级目录。
  - 扩展名为 `.htm` 的模板文件规则同 `{cell}`,里面可以包含 `{cell}`。
  - 扩展名为 `.php` 的模板文件需要书写成 class 类,具体参考 `template/default/cells/forum/portal/` 目录下的文件。

### 3. 聚合首页
聚合首页设置位于后台“社区”->“聚合首页”,全新的首页可自定义主题列表展示的规则。设置后可配合细胞模板在后台进行 DIY 调整。

### 4. 模板变量
模板变量完全复刻了插件变量的机制,模板开发者可以直接为自己的模板设计一套参数设置后台,而无需再用插件配合。

- **设计模式**:开启开发模式后,模板列表会出现“设计”按钮,点击后进行编辑操作,变量类型与插件变量完全一致。
- **布局分类**:
  - **标题栏**:可为多个设置项增加一个小标题。
  - **分组**:可为多个设置项进行通过多页切换的方式进行分组,分组会按照设置的显示顺序为设置项进行页面拆分。使用分组时,顺序的第一个项目必须是分组类型。

### 5. 导出
增加了模板变量的设置后,可重新导出,导出后的 XML 将包含模板变量的内容。

- **版本号**:由于增加了模板变量的功能,导出的 XML 中可以设置一个 `version` 的风格变量,标记版本的变化。

### 6. DIY 支持手机版
X5.0 已支持手机版 DIY,您可以按照设计 PC DIY 模板的方式给 `touch` 目录下的模板文件添加 DIY 元素内容。

### 7. 语言包扩展
X5.0 的模板文件中可以写自定义的语言包扩展文件,这样在您设计的模板中可以通过 `{lang xxx}` 语法直接调用您自定义的语言文字。

- **语言包扩展文件**:`/template/xxx/lang_template.php`
  1. $lang = [
  2.       'nice' => '不错!',
  3.   ];
复制代码

- **兼容 i18n**:可以针对相应的 i18n 语言定制额外语种的语言包,兼容 i18n 的扩展文件为 `/template/xxx/i18n/en/lang_template.php`
  1. $lang = [
  2.       'nice' => 'nice!',
  3.   ];
复制代码


### 8. 页面组件、模块组件
在 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` 标记作为组件的名字,如不带此标记默认使用文件名。

### 总结
细胞模板机制为Discuz! X5.0带来了更高的灵活性和可维护性,使得模板开发更加高效。通过`{cell}`和`{cells}`标记,开发者可以轻松封装和组合模板内容,而模板变量和语言包扩展功能则进一步增强了模板的自定义能力。此外,DIY 支持手机版和页面组件、模块组件的导出功能,使得模板的复用和扩展变得更加便捷。

如果你有更多关于Discuz! X5.0开发的问题,欢迎随时提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.137.210.13,GMT+8, 2025-3-29 00:52 , Processed in 0.286982 second(s), 85 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表