Discuz NT模板中用到的語法

2022-03-07 18:57:31 字數 3088 閱讀 4933

discuz!nt模板中用到的語法是很少的, 我們的目的就是為了讓沒有程式語言基礎的人也可以快速掌握.

基本語句如下: 

語法

含義

舉例

<%templatetplname%>

包含某個已存在的模板檔案

<%template_header%>

顯示變數

顯示資料變數裡的指定欄位的值

<%loopitem list%>

...<%/loop%>

迴圈列出資料, 每個資料用表示, 資料為datatable.

<%loopforum forumlist%>

版塊名稱:

<%/loop%>

<%if...%>

...

<%else%>

...<%/if%>

判斷語句, <%else%>為可選, 意思為:

如果滿足條件... 的話

...否則

...結束

並且可以使用以下比較符:

> 大於

< 小於

== 等於

>= 大於等於

<= 小於等於

!= 不等於

<%if==-1%>

您尚未登入

<%else%>

您已經登入

<%/if%>

<%if!=-1%>

您已經登入

<%/if%>

<%csharp%>

...<%/csharp%>

插入c#**

<%csharp%>

//可以插入任意c#**

int maxattsize = 20;

<%/csharp%>

<%set[ (type) ] = [ " ]arg[ " ]%>

<%set[ (type) ] = expression%>

建立乙個程式變數並賦值,具體解釋如下:

type - 變數的型別,如果有type則首先建立物件再賦值,否則直接賦值

ref - 這裡代表變數或屬性

arg - 如果此引數外有雙引號,則為此值為字串型別;如果是數字並且沒有雙引號封閉,則此值為整型

expression - 這裡可以寫表示式為ref賦值

建立變數並賦值: <%set (int) = 20%>

變數引用: <%set (int) = %>

變數賦值: <%set = 20%>

方法引用: <%set (int) = )}%>

字元型: <%set = "5"%>

<%namespacenamespacename%>

引入乙個命名空間

注意:該語句不能用在子模板中

<%namespacediscuz.forumplugin.bank%>

你也許會驚訝, 就這麼幾個嗎? 是的, 主要的顯示控制語句就以上的幾個, 介面中80%以上的情況下用上面的語句來解決就足夠了, 是不是很簡單?

上面灰色背景的為程式語句, (深灰色為高階語法, 普通使用者製作模板時如果不懂也可以不用) 程式語句格式比較死板, 因此在書寫的時候應該特別注意, 必須遵守固定的格式.

上面已經列舉了兩種最常見的變數用法, 下面是變數使用的一些例外, 在這裡也列舉一下:

語法

含義

舉例

模板所在的路徑

將數字字串轉換為數字, 如果字串不是數字, 則轉換為0 , 主要用於必須將變數轉換為數字才可使用的場合

<%if )}==1%>

...

屬性變數, 中間為英文本元. 在生成的aspx檔案中, 屬性的第乙個字元會大寫, 主要用於要使用乙個物件屬性的場合

論壇名稱是:

(在aspx檔案中變數實際是config.forumtitle)

獲取使用者的提交, 包括url引數和表單等, 主要用於要使用使用者提交的引數的場合

<%if !=""%>

...

至此, 模板中所需要用的變數和語句的方法就列舉完了, 當然, 如果你了解c#語法, 一些地方可以略微靈活的處理, 這裡只所以只提供幾種最簡單的語句, 主要還是考慮到許多站長並沒有程式語言的基礎.

考慮到大家書寫的方便和降低書寫錯誤的機率,discuz!nt模板規定: 所有變數和語句均為小寫, 我們也希望大家在改寫aspx.cs檔案時提供的變數都為小寫, 只有這樣, 才可以維護這一規則.

模板中一般都會有一些共用的部分, 比如多個頁面共用類似的頭部或選單, 這樣的共用部分模板一般被稱為子模板, 它們僅被其它頁面包含, 不會單獨被顯示, 因此無需生成aspx頁面, 為了避免它們被生成, 也為了更好的與其它頁面模板檔案區分,discuz!模板規定: 所有子模板檔名必須以「_」開頭,如 _header.htm

如果想檢視模板的變數和語句的使用方法範例, 可參看

Discuz NT模板中用到的語法

discuz nt模板中用到的語法是很少的,我們的目的就是為了讓沒有程式語言基礎的人也可以快速掌握.基本語句如下 語法含義舉例 templatetplname 包含某個已存在的模板檔案 template header 顯示變數 顯示資料變數裡的指定欄位的值 loopitem list loop 迴圈...

iOS中用到的協議

協議 雙方進行溝通交流,通訊等而達成一定規範。網路協議 網路中傳遞,管理資訊的一些規範。tcp ip協議。transmission control protocol傳輸控制協議,是一種網路通訊協議。tcp ip不是乙個協議,而是乙個協議族的統稱。裡面包括了ip協議,imcp協議,tcp協議,以及我們...

java中用到的集合

1,set通過new hashset儲存string型別的集合,通過add新增資料 private setgettags 2.set通過new linkedhashset 儲存int型別的集合,通過add新增資料 private static settagaliadatechange return ...