- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Discuz模板引擎标签
Discuz模板引擎标签2009-06-03 09:18Discuz! 的模板采用近似 PHP 表达式的语法,支持的元素如下:
1. !--{ ... }--?? 逻辑元素包围符,该符号用于包含条件和循环元素,其中:
!--{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}
?? 逻辑元素包围符在 { } 外面包含了 html 的注释符号 !-- --,除了为了和信息元素?? 相区别外,也方便了使用 Dreamweaver 和 Frontpage 之类工具编辑模板的用户.因逻?? 辑元素会被识别为 html 的注释而不被显示,对于绝大多数用户,逻辑元素中的内容是?? 完全不需要修改的,甚至修改错一个字符就可能引起错误信息和整个系统无法运行.因?? 此通常您在修改模板的时候,不要修改模板的逻辑信息,更不要将逻辑信息内部元素(如?? !--{else}-- 等)的位置,否则可能会导致错误.如果您的模板被不慎修改损坏,请立?? 即用原始模板覆盖,即可恢复.
?? 对于高手而言,实际上外部的 !-- -- 是可以省略不写的,可以用于某些元素在模板?? 中的定位,但强烈建议普通用户不要轻易尝试.
2. { ... }?? 信息元素包围符,其中
{CONSTANT}可以引用界面替换变量,其中必须为大写字母,该符号实际的作用是引用 PHP 常量CONSTANT,因此也可以通过它来引用其他的常量内容.
{lang variable}可以在模板中引用语言变量 variable 的内容,语言变量经由 templates.php.lang中数组 $language 定义.如 {lang post_edit} 的内容在编译模板的时候被替换为 $language[post_edit]的内容,简体中文版的意思是 编辑帖子.
{faq variable}可以在模板中引用 论坛帮助的帮助关键字,在后台=其他设置=》论坛帮助=》具体某个帮助的详情可以看到或者设置
3. {template name}?? 模板嵌入符,为了避免模板的冗长,可以使用本符号来将 name 模板的内容嵌入本模板?? 中(实际上为引用).
4. {eval statement}?? 运行 PHP 语句体 statement.推荐只在特别必须的时候才使用该结构,因为它会破坏?? 模板的结构和可读性.?? 如 {eval echo template;} 实现的功能为 echo template;
5. {LF}?? 换行符,因为 Discuz! 模板引擎会忽略掉多于的换行行(\n),这个符号用来成生需要?? 的 \n.
6. {echo variable}实现的功能为 echo, 注意这个和直接在模板写变量{$variable} 的区别是这个把echo后面的当成一个语句执行完成后才输出;
看一个具体的例子:{echo $i + 1} 编译后 ? echo $i+1; ?$i + 1 编译后 ?=$i? + 1
7. {block variable}statement{/block}实现的功能为 $variable = EOFstatementEOF;这个对于块赋值非常的有用。
模板文件篇:
| -- template -- default?? 系统内置风格模板(默认风格)| -- template -- default? -- discuz_style_default.xml? 风格安装文件,可用风格导出功能创建| -- template -- default? -- preview.jpg? 预览图| -- template -- def
文档评论(0)