文章熱詞:discuz

                日期:2019-08-28 15:18 by 楊國偉 1549 1 收藏
                我要分享

                摘要:discuz模闆語法

                u=44592284,3570403288&fm=26&gp=0.jpg

                模闆嵌套語法

                将被嵌套模闆内容解析爲 PHP 語句并合并入本模闆中的寫法

                <!--{subtemplate common/header}-->

                common/header 對應某個模闆套系中的 common 目錄的 header.html 模闆文件

                程序運行時include嵌套模闆内容

                <!--{template common/header}-->

                注釋:當模闆中有較多 loop 時,盡量用 subtemplate

                邏輯判斷 if...else

                    如果寫在 HTML 表單元素中,可以省去使代碼更清晰易讀,如{if $my_var}xxx{/if}

                    <!--{if $_G['uid']}--> 任意html語句 <!--{/if}-->//如果是在對html标簽某個屬性值做判斷時顯得尤爲重要,如果在标簽之外的話,最好加上<!-- -->注釋符号

                    帶有分支條件的 if 寫法

                    <!--{if $_G['uid']}--> 任意 html 語句 <!--{elseif $_G[connectguest]}--> 任意html語句 <!--{/if}-->

                    帶有多條件的 if 寫法,可使用 PHP 常規判斷中的按位運算符等

                    <!--{if empty($_G['forum']['picstyle']) && $_GET['orderby'] == 'lastpost' && empty($_GET['filter']) }-->

                        任意 html 語句 

                    <!--{/if}-->

                    CSS 書寫時也可以按條件進行判斷設置設置例如:

                    <td class="fl_g"{if $forumcolwidth} width="$forumcolwidth"{/if}> //正如上面所說,對html标簽中屬性值做判斷的時候,可以省略注釋符<!-- -->

                直接執行 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數組形式存放

                上一篇:php函數

                下一篇:你還在用原生的支付API嗎?


                評論