discuz模板語法,discuz模板
Discuz! X 模板的解析主要是 ./source/class/class_template.php 文件解析處理的,如果需要深入了解請可以看看這個文件!
直接執行 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數組形式存放