您现在的位置是:首页 > cms教程 > Discuz教程Discuz教程
discuz模板语法定义介绍
钱锦宏2025-06-27Discuz教程已有人查阅
导读Discuz的模板采用近似 PHP 表达式的语法,支持的元素如下:逻辑元素包围符,该符号用于包含条件和循环元素条件判断这是一个典型的条件模板,当条件 expr1 为真时
Discuz的模板采用近似 PHP 表达式的语法,支持的元素如下:
不带下标变量的数组循环
对于高手而言,实际上外部的 <!– –> 是可以省略不写的,可以用于某些元素在模板中的定位,但强烈建议普通用户不要轻易尝试。
{ … }
信息元素包围符
{CONSTANT}
可以引用界面替换变量,其中必须为大写字母,该符号实际的作用是引用 PHP 常量 CONSTANT,因此也可以通过它来引用其他的常量内容。
{lang variable}
可 以在模板中引用语言变量 variable 的内容,语言变量经由 templates.php.lang 中数组 $language 定义。如 {lang post_edit} 的内容在编译模板的时候被替换为 $language['post_edit'] 的内容,简体中文版的意思是“编辑帖子”。
{template name}
模板嵌入符,为了避免模板的冗长,可以使用本符号来将 name 模板的内容嵌入本模板中(实际上为引用)。
{eval statement}
运行 PHP 语句体 statement。推荐只在特别必须的时候才使用该结构,因为它会破坏模板的结构和可读性。如 {eval echo ‘template!’;} 实现的功能为 echo ‘template’;
{LF}
换行符,因为 Discuz模板引擎会忽略掉多余的换行(\n),这个符号用来成生需要的 \n。
我 们所推荐的模板修改方法:通过普通编辑器手工书写 html 或通过 Dreamweaver 或 Frontpage 修改。但是修改需切记,同一逻辑元素内或嵌套中元素的位置和内容切勿修改,即通常情况下,您不能把 <!–{}–> 包围的内容单独的移动,更不能删除。但是整个最外部逻辑结构是可以移动或删除的。
如果修改后模板所在页面在输出类似如下的错误信息
Discuz提供了方便的界面打包程序,前面已对其格式做了介绍,将导出信息的内容粘贴到 系统设置 中 风格方案 中的 导入界面方案 中,执行即可。程序会自动解析数据内容,恢复相关的界面设置,自定义替换变量和所需的模板设置。如果被导出界面使用了非默认模板,必须将 ./templates 目录属性设置为 777,以便导入程序自动建立模板记录和文件夹。
定义变量说明
<!–{ … }–>
逻辑元素包围符,该符号用于包含条件和循环元素条件判断
<!--{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}–> 等)的前后位置作以修改,否则可能会导致错误。如果您的模板被不慎修改损坏,请立即用原标准默认模板覆盖,即可恢复。对于高手而言,实际上外部的 <!– –> 是可以省略不写的,可以用于某些元素在模板中的定位,但强烈建议普通用户不要轻易尝试。
{ … }
信息元素包围符
{CONSTANT}
可以引用界面替换变量,其中必须为大写字母,该符号实际的作用是引用 PHP 常量 CONSTANT,因此也可以通过它来引用其他的常量内容。
{lang variable}
可 以在模板中引用语言变量 variable 的内容,语言变量经由 templates.php.lang 中数组 $language 定义。如 {lang post_edit} 的内容在编译模板的时候被替换为 $language['post_edit'] 的内容,简体中文版的意思是“编辑帖子”。
{template name}
模板嵌入符,为了避免模板的冗长,可以使用本符号来将 name 模板的内容嵌入本模板中(实际上为引用)。
{eval statement}
运行 PHP 语句体 statement。推荐只在特别必须的时候才使用该结构,因为它会破坏模板的结构和可读性。如 {eval echo ‘template!’;} 实现的功能为 echo ‘template’;
{LF}
换行符,因为 Discuz模板引擎会忽略掉多余的换行(\n),这个符号用来成生需要的 \n。
我 们所推荐的模板修改方法:通过普通编辑器手工书写 html 或通过 Dreamweaver 或 Frontpage 修改。但是修改需切记,同一逻辑元素内或嵌套中元素的位置和内容切勿修改,即通常情况下,您不能把 <!–{}–> 包围的内容单独的移动,更不能删除。但是整个最外部逻辑结构是可以移动或删除的。
如果修改后模板所在页面在输出类似如下的错误信息
Parse error: parse error, unexpected ‘}’ in /home/username/forums/forumdata/templates/1_login.tpl.php on line 6
说明模板中出现了无法匹配,或格式错误的逻辑元素,请仔细检查是否有元素不对应,没有结束或嵌套损坏,格式错误的现象,必要时可以恢复原始模板来解决 问题。Discuz提供了方便的界面打包程序,前面已对其格式做了介绍,将导出信息的内容粘贴到 系统设置 中 风格方案 中的 导入界面方案 中,执行即可。程序会自动解析数据内容,恢复相关的界面设置,自定义替换变量和所需的模板设置。如果被导出界面使用了非默认模板,必须将 ./templates 目录属性设置为 777,以便导入程序自动建立模板记录和文件夹。
定义变量说明
<?exit?>
<!–{eval $i=2}–>
<!–{if $i==1}–>
123
<!–{/if}–>
<!–{block name=”spaceblog” parameter=”notype/1/order/i.dateline,i.lastpost/limit/0,14/cachetime/900 /cachename/newti/tpl/data”}–><!–较新日志–>
<!–{eval $i=0;}–>
<!–{loop $_SBLOCK['newti'] $value}–>
<!–{if $i % 2 == 0}–>//如果i除以2的余数等于0
<div class=”listbg”><!–{else}–>
<div class=”listbg2″><!–{/if}–>
· [<span class="listA">$value[typename]</span>]<a
class=”listA” href=”$value[url]” title=”$value[subjectall]” target=”_blank”>$value[subject]</a></div>
<!–{eval $i++;}–>
<!–{/loop}–>
<!–{eval for ($i=1; $i<=5; $i++){ }–>
<!–{eval echo “Hello World!<br />”;}–>
<!–{eval}}–>
本文标签:
很赞哦! ()
下一篇:discuz常用函数调用方法示例
相关教程
图文教程
discuz函数库function_core注释
根据uid 获取用户基本数据 @staticvar array $users 存放已经获取的用户的信息,避免重复查库获取当前用户的扩展资料@param $field 字段
Discuz论坛积分系统获取和使用积分的方法
在Discuz论坛中,积分可以通过发帖、回帖、签到等方式获取,并用于购买权限、兑换物品等。具体操作包括:1) 设置合理的积分获取规则,防止刷分;2) 确保积分的使用价值
discuz怎么去除.php后缀
discuz去除“.php”的方法:首先点击“后台-界面-导航设置-主导航”;然后点击“添加主导航”新建一个导航栏目;接着把默认论坛页面“forum.ph
Discuz X3.1论坛门户的修改方法
discuz如何去掉门户相关分类?discuz这款cms是非常好用的,特别是它的diy功能,在discuzcms中很多站长都需要改很多地方
相关源码
-
响应式HTML5家居建材办公家具桌椅pbootcms模板为家居建材、办公家具企业打造的响应式网站模板,同时支持多行业快速适配通过替换文字图片即可转型为其他行业官网,大幅降低开发成本。查看源码 -
(自适应响应式)蓝色律师事务所法务团队网站pbootcms模板为律师事务所和法律服务机构打造的专业网站模板,展现法律专业性与权威性,手工编写标准DIV+CSS代码,结构清晰优化,确保高效运行,自动适配电脑、平板和手机等各类设备,提供更好浏览体验查看源码 -
(自适应)英文外贸电子设备网站模板三级子目录基于PbootCMS内核开发的响应式英文网站模板,为外贸企业打造,支持多行业快速适配。通过简洁高效的代码架构,帮助企业低成本构建专业海外形象,实现更好客户触达与订单转化。查看源码 -
深蓝色风景摄影机构网站(自适应多端)pbootcms模板该模板基于PbootCMS内核开发,专为风景摄影机构、户外摄影企业设计,采用深蓝色主题传递专业与艺术感,全栈响应式架构确保PC、平板、手机端无缝适配PHP程序结合轻量级SQLite数据库也可以更换MySQL数据库查看源码 -
(自适应响应式)环保水净化处理设备阀门等网站源码下载基于PbootCMS内核开发的响应式模板,为水处理设备、空气净化器等环保企业设计,自适应手机端浏览。通过简洁高效的后台管理系统,助力环保科技企业快速建立专业在线展示平台。查看源码 -
帝国CMS7.5手游资讯下载综合门户免费网站模板本模板基于帝国CMS7.5内核开发,为手游打造的综合门户网站解决方案。模板设计充分考虑了手业的特性,包含游戏资讯发布、手游下载、礼包发放、开测信息等核心功能模块,满足手游门户网站的各项业务需求。查看源码
| 分享笔记 (共有 篇笔记) |
