Discuz二次开发-Discuz!X模板中的一些基本语法

发布时间:2017-09-10 编辑:小张个人博客 查看次数:2657

很多朋友对Discuz!X的模板都很感兴趣,特别是Discuz! X独有的模板机制,相信大家都非常希望能够看懂它。下面我讲解一下我经常用到的模板语法,希望大家看完之后对Discuz! X的模板有一个详细的了解。

Discuz!X变量输出

输出一个变量的值,等同于php的echo,花括号可以省略但不建议去掉

{$name}  // echo $name

if条件判断

这个标签的算是模板中最常用的标签了,他同样支持形如我们php中常用的if(判断条件){}else{}或者if(判断条件){}elseif(判断条件){}else{}他们对应的标签discuz标签分别为:<!--{if 判断条件代码}-->显示的html<!--{else}-->若果条件不成立显示的代码<!--{/if}-->和<!--{if 判断条件代码}--> 显示的</font>html<!--{elseif 判断条件代码-->若果条件不成立显示的代码<!--{else}-->显示的代码<!--{/if}-->

// 通过if判断流程分支
<!--{if $name == 'xiaozhang'}-->

任意html语句

<!--{/if}-->


// 多条件的if写法
<!--{if $name == 'xiaozhang' && $age == 25}-->

任意html语句

<!--{/if}-->


// 带有分支条件的if写法
<!--{if $name == 'xiaozhang' && $age == 25}-->
  任意html语句

<!--{else}-->

   任意html语句

<!--{/if}-->

循环输出

循环标签,这是一个使用频率很高的标签,他会实现php中foreach的函数效果,对一组数据进行循环输出。如果你在php中组装好了一个要用到的数组,那么loop将是您最佳的显示标签。

<!--{loop $name $key $val}-->
 
 任意html语句

<!--{/loop}-->

php解析

以eval开始的标签,将直接将后面的代码作为php执行语句原样输出

{eval echo time()}

以eval开始的标签,将直接将后面的代码作为php执行语句原样输出

一般我们常用的标签就这几种。其他的话一般都不太常用。如果你有兴趣可以自己去研究一下./source/ class /class_template.php中的解析函数:function

parse_template();这里面包含了所有的标签,并且是如何被解析的。有兴趣的同学可以研究一下。


出处:小张个人博客

网址:http://blog.023xs.cn/

您的支持是对博主最大的鼓励,感谢您的认真阅读。欢迎转载,但请保留该声明。

顶部

Copyright © 小张个人博客 All Rights Reserved 渝ICP备15006773号-1

联系方式:[email protected] | 本站文章仅供学习和参考

渝公网安备 50024102500267号