Discuz常用标签

Discuz!模版文件定位

一般情况下

模版文件目录

模版文件目录

特殊情况下

特殊情况下

特殊情况下

理解php的include机制

头部文件

1
2
3
4
5
6
7

<!DOCTYPE html!>
<html>
<head>
<meta charset="utf-8">
</head>
</html>
<body>

主文件

1
2
3

<?php include 'head.php' ?>
<p>这里是内容</p>
<?php include 'foot.php' ?>

尾部文件

1
2

</body>
</html>

Discuz!X子模版调用标签

作用:通过调用子模版,实现模版分离,提升模版复用率。

使用方法:

template子模版目录/子模版文件名

subtemplate子模版目录/子模版文件名

subtemplate相对于template执行效率更高一下

1
2
3

<!--{template common/header}-->
<p>内容</p>
<!--{template common/footer}-->

Discuz!X变量输出标签

作用:输出变量的值,支持多维数组,变量嵌套方式。

使用方法:{$变量名}或$变量名

1
2
3
4

<!--{template common/header}-->
<p>{$_G['uid']}</p>用户id值
<p>{$_G['username']}</p>用户名
<!--{template common/footer}-->

Discuz!X常量输出标签

作用:输出常量值

使用方法:{常量名}

1
2
3
4

<!--{template common/header}-->
<p>{TIMESTAMP}</p>当前时间的时间戳
<p>{DISCUZ_ROOT}</p>根目录的绝对路径
<!--{template common/footer}-->

Discuz!X万能输出标签

输出任意的值,支持变量、常量、函数、对象属性、对象方法、PHP语句等

使用方法:{echo 输出的代码}

1
2
3
4
5

<!--{template common/header}-->
<p>{echo  $_G['username']}</p>用户名
<p>{echo  'ppc'}</p>标准字符串
<p>{echo  1+2}</p>输出值3
<!--{template common/footer}-->

Discuz!X运行单行代码标签

作用:执行任意的单行php代码

使用方法:{eval 任意PHP代码}

1
2
3
4

<!--{template common/header}-->
{eval  $phpchina = 'ppc'}给phpchina赋值ppc
<p>{phpchina}</p>输出ppc
<!--{template common/footer}-->

Discuz!X运行多行代码标签

作用:执行任意的多行php代码

使用方法:{ecal}php代码{/ecal}

1
2
3
4
5
6
7

<!--{template common/header}-->
{eval}function phpchina(){
echo ' This is PHP CHIAN function'
}
{/eval}
<p>{eval phpchina()}</p>输出phpchina值
<!--{template common/footer}-->

注意dzx2.5版本可使用eval

Discuz!X输出头像标签

作用:输出指定的用户ID头像,支持大中小三种尺寸

使用方法:

1
2
3
4
5
6
7
8

{avatar(用户ID,'big')}
{avatar(用户ID,'medium')}
{avatar(用户ID,'small')}
<!--{template common/header}-->
{avatar(1,'big')}调用的大头像
{avatar(1,'medium')}调用的中头像
{avatar(1,'small')}调用的小头像
<!--{template common/footer}-->

Discuz!X循环数值标签

作用:对存储在PHP数组的数据进行遍历

使用方法:

{loop $数组名 $值}{/loop}

1
2
3
4
5
6
7
8
9
10
11
12
13

<!--{template common/header}-->
{eval}
$phpchina = array(
'aa'=> 'dz'
'bb'=>'zd'
)
{/eval}
<ul>
{loop $phpchina $value}
<li>{$value}</li>
</loop>
</ul>
<!--{template common/footer}-->

{loop $数组名 $索引 $值}{/loop}

1
2
3
4
5

<ul>
{loop $phpchina $key $value}
<li>{$key} {$value}</li>
</loop>
</ul>

Discuz!X逻辑判断标签

作用:实现高度定制化的流程控制处理

使用方法:

1
2
3
4

{if 条件}
{elseif 条件}
{else}
{/if}

一、输出1的时候显示“值是1”

1
2
3
4
5
6

<!--{template common/header}-->
{eval $phpchina = 1}
{if $phpchina ==1}
值是1
{/if}
<!--{template common/footer}-->

二、当if执行失败执行{else}

1
2
3
4
5
6
7
8

<!--{template common/header}-->
{eval $phpchina = 2}
{if $phpchina ==1}
值是1
{else}
值不是1
{/if}
<!--{template common/footer}-->

三、当1的时候显示“值是1”,当值是2的时候显示“值是2”,否自“不是1,也不是2”

1
2
3
4
5
6
7
8
9

<!--{template common/header}-->
{eval $phpchina = 2}
{if $phpchina ==1}
值是1
{elseif $phpchina ==2}
{else}
不是1,也不是2
{/if}
<!--{template common/footer}-->

 

Discuz!X时间输出标签

作用:输出一个时间戳到页面上,显示为详细时间日期

用法:{date时间戳}

1
2
3

{template common/header}
{date(TIMESTAMP)}
{template common/footer}

Discuz!X广告调用标签

作用:输出一段广告在页面,后台可以定制

用法:{ad/广告标识符}

后台可直接开启,并得到代码

Discuz!X数据调用标签

用法:{block/模块id}

门户---模块管理--数据调用(类似广告调用)

默认是显示ul无序列表,可以选择ol实现有序列表(模块--属性--模块模版)

也可以选择外部调用利用一段js实现,一般在跨网站,跨网站实现的,劲量选择内部调用。

Discuz!X变量的拼接标签

作用:将php和html拼接到变量中,混编代码

用法:{block 变量名}混编代码{block}

1
2
3
4
5
6
7
8
9

{block phpblog}
<ul>
<li>111</li>
<li>222</li>
<li>333</li>
</ul>
{/block}
//输出phpblog变量
{$phpblog}

Discuz!X钩子调用标签

作用:结合插件系统,输出插件指定嵌入点的返回值

使用方法:{hook/模块名称_自定义名称}

1

{hook/forumdisplay_phpblog_text}

Discuz!X输出换行标签

作用:在模版中输出类Uinx换行符

用法:{LF}主要是用在discuz!邮件模版

Discuz!XDIY调用标签

作用:创建DIY数据调用容器,实现DIY拖动效果

用法:

1
2
3

<!--[diy=diy的id值]--> <div id="diy的id值" class="area"></div> <!--[/diy]-->