Discuz!X3.1标签使用(一)

作者: 鲁智深 分类: Discuz!X 发布时间: 2014-06-10 05:50

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}-->

学无止境!

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注