首頁  >  文章  >  後端開發  >  discuz範本語法

discuz範本語法

WBOY
WBOY原創
2016-08-08 09:25:361472瀏覽

Discuz! X 模板的解析主要是 ./source/class/class_template.php 檔案解析處理的,如果需要深入了解請可以看看這個檔案!

    1.  模板巢狀語法

      將被嵌套模板內容解析為PHP 語句並合併入本模板中的寫法

      common/header 對應某個模板套系中的common 目錄的header. html 模板檔案
      程式運行時include嵌套模板內容

      註解:當模板有較多 loop 時,盡量用 subtemplate
    2.  邏輯判斷 if...else

      1. 如果寫在HTML 表單元素中,可以省去使程式碼更清晰易讀,如{if $my_var}xxx{/if}
        任意html語句//如果是在對html標籤某個屬性值做判斷時顯得特別重要,如果在標籤之外的話,最好加上註釋符號    
      2. 帶有分支條件的if 寫法
        任意html 語句 任意html語句
      3. 帶有多條件的if 寫法,可使用PHP 常規判斷中的位元運算子等

            任意html 語句 
      4. CSS 書寫時也可以按條件進行判斷設定設定例如:
        //正如上面所說,對html標籤中屬性值做判斷的時候,可以省略註解符
      5.  直接執行 PHP 程式碼標籤:

        //相當於
        //相當於
        //相當於
        //相當於

      6.  直接輸出變量,等同於 PHP 的 , 花括號可以省略但不建議去掉。 (模組程式處理後才能在這裡呼叫):

          $announcements
        //一般情況下輸出的內容不是簡單的變數
        //使用條件:1-變數需經函數處理 2-輸出的是變數,不能是陣列
      7.  廣告的嵌入點代碼:

        //這是discuz內嵌廣告,建議大家自訂廣告位,自訂的廣告位在後台會自動產生呼叫程式碼,我們只需要貼上複製即可

      8.  插件的鉤子標籤:


        hook為關鍵字,意為將index_top定義為鉤子

      9.  循環語法(可以多重循環)

        有數組鍵的循環寫法

            循環輸出的HTML語句

        沒有數組鍵的循環寫入法

            循環輸出的HTML語句

      10.  DIY 區域和後台資料呼叫標籤:

         //盡量避免使用discuz的diy功能,因為維護大家很大,可直接通過後台自訂模組或模組程式碼
        {block XXX}(資料呼叫模組)
      11.  Discuz! 語言套件載入後,範本檔案中的使用:

        {lang forum_category_modedby}
        其中語言包在 ./source/language/目錄下,以PHP數組形式存放

      12. 以上就介紹了discuz範本語法,包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn