Discuz标签

Posted catyxiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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]-->

以上是关于Discuz标签的主要内容,如果未能解决你的问题,请参考以下文章

Discuz!X3.1标签使用

Discuz! 模版变量/标签

discuz 标签

Discuz tag 标签重复显示的解决方法

Discuz标签

Discuz!X3.1标签使用