您现在的位置是:首页 > cms教程 > Discuz教程Discuz教程
PHP的discuz模板语法介绍
恨山2025-07-17Discuz教程已有人查阅
导读Discuz!X模板的解析主要是 ./source/class/class_template.php 文件解析处理的,如果需要深入了解请可以看看这个文件!
Discuz!X模板的解析主要是 ./source/class/class_template.php 文件解析处理的,如果需要深入了解请可以看看这个文件!
模板嵌套语法
将被嵌套模板内容解析为 PHP 语句并合并入本模板中的写法
程序运行时include嵌套模板内容
逻辑判断 if...else
如果写在 HTML 表单元素中,可以省去使代码更清晰易读,如{if $my_var}xxx{/if}
循环语法(可以多重循环)
带有数组键的循环写法
Discuz! 语言包加载后,模板文件中的使用:
模板嵌套语法
将被嵌套模板内容解析为 PHP 语句并合并入本模板中的写法
<!--{subtemplate common/header}-->
common/header 对应某个模板套系中的 common 目录的 header.html 模板文件程序运行时include嵌套模板内容
<!--{template common/header}-->
注释:当模板中有较多 loop 时,尽量用 subtemplate逻辑判断 if...else
如果写在 HTML 表单元素中,可以省去使代码更清晰易读,如{if $my_var}xxx{/if}
<!--{if $_G['uid']}--> 任意html语句 <!--{/if}-->//如果是在对html标签某个属性值做判断时显得尤为重要,如果在标签之外的话,较好加上<!-- -->注释符号带有分支条件的 if 写法
<!--{if $_G['uid']}--> 任意 html 语句 <!--{elseif $_G[connectguest]}--> 任意html语句 <!--{/if}-->
带有多条件的 if 写法,可使用 PHP 常规判断中的按位运算符等
<!--{if empty($_G['forum']['picstyle']) && $_GET['orderby'] == 'lastpost' && empty($_GET['filter']) }-->
任意 html 语句
<!--{/if}-->
CSS 书写时也可以按条件进行判断设置设置例如:
<td class="fl_g"{if $forumcolwidth} width="$forumcolwidth"{/if}> //正如上面所说,对html标签中属性值做判断的时候,可以省略注释符<!-- -->
直接执行 PHP 代码标签:
<!--{eval echo $my_var;}--> //相当于 <?php echo $my_var;?>
<!--{eval $my_arr = array(1, 2, 3);}--> //相当于 <?php $my_arr=array(1,2,3);?>
<!--{eval print_r($my_arr);}--> //相当于<?php print_r($my_arr);?>
<!--{eval output();}--> //相当于<?php output();?>
<!--{eval exit();}--> //相当于 <?php exit();?>
直接输出变量,等同于 PHP 的 <?php echo $my_var; ?>, 花括号可以省略但不建议去掉。(模块程序处理后才能在这里调用):
<div id="anc"><ul id="ancl">$announcements</ul></div>//一般情况下输出的内容不是简单的变量
<!--{echo cutstr($group[lastpost][subject], 30)}--> //使用条件:1-变量需经函数处理 2-输出的是变量,不能是数组
广告的嵌入点代码:
<!--{ad/headerbanner/wp a_h}--> //这是discuz内嵌广告,建议大家自定义广告位,自定义的广告位在后台会自动生成调用代码,我们只需要粘贴复制即可
插件的钩子标签:
<!--{hook/global_usernav_extra2}-->
hook为关键词,意为将index_top定义为钩子循环语法(可以多重循环)
带有数组键的循环写法
<!--{loop $my_arr $key $val}-->
循环输出的HTML语句
<!--{/loop}-->
没有数组键的循环写法
<!--{loop $_G['setting']['navs'] $nav}-->
循环输出的HTML语句
<!--{/loop}-->
DIY 区域和后台数据调用标签:
<!--[diy=diy1]--><div id="diy1" class="area"></div><!--[/diy]--> //尽量避免使用discuz的diy功能,因为维护大家很大,可直接通过后台自定义模块或模块代码
{block XXX}(数据调用模块)Discuz! 语言包加载后,模板文件中的使用:
{lang forum_category_modedby}
其中语言包在 ./source/language/目录下,以PHP数组形式存放
本文标签:
很赞哦! ()
相关教程
图文教程
discuz!nt用户整合实现同步用户密码的方法
最近的项目要跟discuz的论坛进行整合,实现用户同步注册,单点登陆,同步删除用户,同步修改用户密码采用的是discuz!nt
宝塔nginx服务器安装Discuz的步骤方法
需要说明的是,下网上以前一直流传的Rewrite都是有误的。下面的Rewrite中百分号前面多了个转移字符“\”,这在Apache中是需要的,而在Nginx中则是不需要的。
discuz去除forum.php的方法
discuz去除forum.php的方法:首先在后台设置域名;然后找到“discuz.htm”并修改内容为“”即可。去掉discuz论坛中forum.php的方法
Discuz的NT邮件插件机制分析
大约还是去年12月份,当时项目中遇到了一个很棘手的问题,就是管理员(或站长)在后台设置了邮箱信息之后,使用注册邮件发送激活验证码时,总有用户反映不能收到激活信息的邮件。
相关源码
-
(自适应响应式)pbootcms紫色美容整形机构企业模板下载基于PbootCMS内核开发的响应式网站模板,为医疗美容机构、整形医院等企业设计,提供完整的线上展示平台采用紫色系配色方案,整体风格专业大气。模板包含首页轮播、服务项目、专家团队、案例展示等核心模块,能够充分展示医疗美容机构的专业服务和特色优势。查看源码 -
(PC+WAP)蓝色钢材加工建筑装修施工材料网站模板下载为钢材加工企业设计的PbootCMS响应式模板,采用PC+WAP双端适配技术,数据实时同步。简洁大气的蓝色工业风格设计,突出钢材加工行业特性,其他制造业用户更换图文内容即可快速应用。查看源码 -
(PC+WAP)中英双语户外用品帐篷装备pbootcms网站模板下载这款基于PbootCMS开发的中英文双语模板专为户外装备行业设计,适配PC和移动设备。模板采用现代化设计风格,突出户外产品的功能性和实用性,帮助企业建立专业的国际化展示平台。查看源码 -
pbootcms模板PC+WAP娱乐新闻资讯类博客网站源码该模板基于PbootCMS内核开发,专为娱乐新闻、健康生活类资讯网站设计,同时支持快速适配其他行业(如企业官网、博客门户等),仅需替换图文内容即可完成转型。查看源码 -
(自适应)建站广告公司工作室作品展示品牌策划设计pbootcms源码下载基于PbootCMS开发的创意服务展示系统,内置作品集展示、服务流程图等专业模块,预设客户案例、设计流程等创意行业专属栏目结构。查看源码 -
(PC+WAP)蓝色电缆桥架五金钢结构机械PbootCMS模板下载采用PC与WAP双端适配设计,满足桌面设备和移动端访问需求。专注服务于电缆桥架、钢结构及五金机械制造领域,通过结构化布局展示产品特性与技术参数,后台数据一体化管理提升内容维护效率。查看源码
| 分享笔记 (共有 篇笔记) |
