Discuz教程网

[模板制作] Discuz X2模板制作标签使用说明

[复制链接]
authicon dly 发表于 2012-10-26 21:28:29 | 显示全部楼层 |阅读模式
Discuz X2系列的模板采用近似 PHP 表达式的语法,基本都是可识别的HTML,但涉及到变量和动态内容时,基本形式下:
  1. <!-{ 代码内容 }->
复制代码
逻辑元素包围符,该符号用于包含条件和循环元素

条件判断
  1. <!-{if expr1}->
  2. statement1
  3. <!-{elseif expr2}->
  4. statement2
  5. <!-{else}->
  6. statement3
  7. <!-{/if}->
复制代码

这是一个典型的条件模板,当条件 expr1 为真时,显示模板 statement1 内容,否则当 expr2 为真时,显示模板 statement2 内容,否则显示模板 statement3 的内容。如同其他语言中的条件控制一样,其中 <!-{elseif expr}-> 和 <!-{else} -> 是非必须的。


不带下标变量的数组循环
  1. <!-{loop $array $value}->
  2. statement
  3. <!-{/loop}->
复制代码

相当于 PHP 的数组循环语句:
  1. foreach($array as $value) {
  2. statement
  3. }
复制代码

带下标变量的数组循环
  1. <!-{loop $array $key $value}->
  2. statement
  3. <!-{/loop}->
复制代码
相当于 PHP 的数组循环语句:

  1. foreach($array as $key => $value) {
  2. statement
  3. }
复制代码
信息元素包围符

{C**TANT}
可以引用界面替换变量,其中必须为大写字母,该符号实际的作用是引用 PHP 常量 C**TANT,因此也可以通过它来引用其他的常量内容。

{lang variable}
可以在模板中引用语言变量 variable 的内容,语言变量经由 templates.php.lang 中数组 $language 定义。如 {lang post_edit} 的内容在编译模板的时候被替换为 $language['post_edit'] 的内容,简体中文版的意思是“编辑帖子”。

{template name}
模板嵌入符,为了避免模板的冗长,可以使用本符号来将 name 模板的内容嵌入本模板中(实际上为引用)。

{LF}
换行符,因为 Discuz! 模板引擎会忽略掉多余的换行(\n),这个符号用来成生需要的 \n。

{eval statement}
运行 PHP 语句体 statement。推荐只在特别必须的时候才使用该结构,因为它会破坏模板的结构和可读性。如 {eval echo 'template';} 实现的功能为echo 'template';

  1. <!-{eval for ($i=1; $i<=5; $i++){ }->
  2. <!-{eval echo "Hello World!";}->
  3. <!-{eval}}->
复制代码
等同于
  1. for ($i=1; $i<=5; $i++){
  2. echo "Hello World!"
  3. }
复制代码

插入子模板
  1. <!-{subtemplate 路径/模板名}->
复制代码

例如
  1. <!-{subtemplate common/header_common}->
复制代码
插入钩子
  1. <!-{hook/viewthread_profileside $postcount}->
复制代码

插入广告
游客,如果您要查看本帖隐藏内容请回复
常量

  1. {STATICURL} static/
  2. {IMGDIR} static/image/common/
  3. {TPLDIR} 模板路径
  4. {CURMODULE}
  5. {VERHASH}
  6. {FORMHASH}
  7. {NOTICETEXT}
  8. {TIMESTAMP}
  9. {CHARSET}
  10. {STYLEID}
  11. {BORDERCOLOR}
  12. {SMFONTSIZE}
  13. {SMFONT}
  14. {UC_API}
复制代码



上一篇:Discuz X论坛帖子增加分享到新浪微博的方法
下一篇:1314学习网签到记录贴-2012年10月27日
authicon lynn.sh 发表于 2012-10-28 13:00:51 | 显示全部楼层
kan guang gao.
authicon 858067319 发表于 2013-8-22 01:52:02 | 显示全部楼层
Discuz!X2.5巧用firebug进行模板样式调试Discuz!X2.5巧用firebug进行模板样式调试Discuz!X2.5巧用firebug进行模板样式调试
authicon 那厮回忆 发表于 2013-8-22 17:18:44 | 显示全部楼层
真是难得给力的帖子啊。
authicon a_hui 发表于 2013-9-1 17:54:24 | 显示全部楼层
非常好呵呵呵
authicon ooo000 发表于 2013-9-11 13:10:46 | 显示全部楼层
强烈支持楼主ing……
authicon csacx 发表于 2014-11-15 00:44:37 | 显示全部楼层
模板制作标签使用说
authicon 在路上hello 发表于 2015-1-14 10:10:28 | 显示全部楼层
11111111111111
authicon tswangyan 发表于 2015-2-21 04:46:52 | 显示全部楼层
Discuz X2模板制作标签使用说明 [复制链接]
电梯直达跳转到指定楼层 楼主
dly实名认证 问题互助团队 站长认证 发表于 2012-10-26 21:28:29 | 只看该作者 回帖奖励
换一换
楼主关注的插件

Discuz X2系列的模板采用近似 PHP 表达式的语法,基本都是可识别的HTML,但涉及到变量和动态内容时,基本形式下:
<!-{ 代码内容 }->
复制代码
逻辑元素包围符,该符号用于包含条件和循环元素

条件判断
<!-{if expr1}->
statement1
<!-{elseif expr2}->
statement2
<!-{else}->
statement3
<!-{/if}->
复制代码

这是一个典型的条件模板,当条件 expr1 为真时,显示模板 statement1 内容,否则当 expr2 为真时,显示模板 statement2 内容,否则显示模板 statement3 的内容。如同其他语言中的条件控制一样,其中 <!-{elseif expr}-> 和 <!-{else} -> 是非必须的。


不带下标变量的数组循环
<!-{loop $array $value}->
statement
<!-{/loop}->
复制代码

相当于 PHP 的数组循环语句:
foreach($array as $value) {
statement
}
复制代码

带下标变量的数组循环
<!-{loop $array $key $value}->
statement
<!-{/loop}->
复制代码
相当于 PHP 的数组循环语句:

foreach($array as $key => $value) {
statement
}
复制代码
信息元素包围符

{C**TANT}
可以引用界面替换变量,其中必须为大写字母,该符号实际的作用是引用 PHP 常量 C**TANT,因此也可以通过它来引用其他的常量内容。

{lang variable}
可以在模板中引用语言变量 variable 的内容,语言变量经由 templates.php.lang 中数组 $language 定义。如 {lang post_edit} 的内容在编译模板的时候被替换为 $language['post_edit'] 的内容,简体中文版的意思是“编辑帖子”。

{template name}
模板嵌入符,为了避免模板的冗长,可以使用本符号来将 name 模板的内容嵌入本模板中(实际上为引用)。

{LF}
换行符,因为 Discuz! 模板引擎会忽略掉多余的换行(\n),这个符号用来成生需要的 \n。

{eval statement}
运行 PHP 语句体 statement。推荐只在特别必须的时候才使用该结构,因为它会破坏模板的结构和可读性。如 {eval echo 'template';} 实现的功能为echo 'template';

<!-{eval for ($i=1; $i<=5; $i++){ }->
<!-{eval echo "Hello World!";}->
<!-{eval}}->
复制代码
等同于
for ($i=1; $i<=5; $i++){
echo "Hello World!"
}
复制代码

插入子模板
<!-{subtemplate 路径/模板名}->
复制代码

例如
<!-{subtemplate common/header_common}->
复制代码
插入钩子
<!-{hook/viewthread_profileside $postcount}->
复制代码

插入广告
tswangyan,如果您要查看本帖隐藏内容请回复
常量

{STATICURL} static/
{IMGDIR} static/image/common/
{TPLDIR} 模板路径
{CURMODULE}
{VERHASH}
{FORMHASH}
{NOTICETEXT}
{TIMESTAMP}
{CHARSET}
{STYLEID}
{BORDERCOLOR}
{SMFONTSIZE}
{SMFONT}
{UC_API}
复制代码
模板
authicon mmcy10 发表于 2015-4-7 09:27:21 | 显示全部楼层
jjjjjj
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 05:46

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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