# 介紹
TIP
頁面右上方 分類 或者 索引 下拉菜單可以快速定位到標簽參考詳情頁。
STL語言,或者STL標簽,全稱為 SiteServer Template Language(SiteServer 模版語言),是 SSCMS 系統使用的模版標簽語言。
你可以把STL語言理解為帶有特定意義的占位符,這些占位符通過標簽(元素及實體)來標記出需要調取并顯示的網站數據及功能;在生成靜態頁面的過程中,SSCMS 系統通過STL解析引擎解析這些占位符,從站點中獲取對應的數據,最終將占位符替換為帶有數據或功能的HTML標簽并在服務器中生成對應的靜態頁面文件。
SSCMS 系統的核心由內容管理與內容解析兩部分組成,STL語言就是內容管理與內容解析的橋梁,將后臺管理的各種動態數據最終解析為用戶能訪問的靜態頁面。
除了將后臺的動態數據解析為前臺的靜態頁面,STL語言還能夠實現諸如功能互動、動態顯示、數據統計、數據庫解析等一系列功能;除了 SSCMS 系統自帶的STL標簽,各類插件也擁有自己的STL標簽,用以實現不同的功能。
# STL語言規則
和 HTML 語言一樣,STL語言也是一種標準通用標記語言,采用與 HTML 語言一致的語法和規則。
STL語言并不復雜,但功能強大,其主要規則如下:
- 標簽不區分大小寫
STL標簽是不區分大小寫的,和 HTML 標簽一樣,<stl:a>
和 <STL:A>
是相同的。
- 屬性值區分大小寫
STL標簽的屬性值是區分大小寫的,例如 <stl:a channelIndex="News">
和 <stl:a channelIndex="NEWS">
是不同的。
- 結束標記可以省略
與 HTML 一樣,在沒有子標簽的情況下,STL 可以省略結束標記。例如 <stl:value></stl:value>
與 <stl:value />
是一致的。
- 標簽可以嵌套標簽
與 HTML 一樣,STL 的標簽可以相互嵌套,將一個或多個STL標簽放到其他STL標簽內部。例如 <stl:a><stl:content type="title"></stl:content></stl:a>
。
# 元素及實體
STL標簽由元素及實體組成,元素以尖括號 <>
作為標記,實體以大括號 {}
作為標記。
例如顯示內容標題可以采用STL 元素: <stl:content type="title"></stl:content>
也可以采用STL 實體: {stl:content type="title"}
或者內容實體的簡寫: {content.title}
。
STL元素和STL實體的最大區別在于元素能夠嵌套子標簽而實體無法嵌套子標簽,例如鏈接標簽 <stl:a channelIndex="新聞">News</stl:a>
(將解析為HTML A標簽)無法通過實體 {stl:a channelIndex="新聞"}
(將解析為對應的鏈接地址字符串)表示。
在模板中你可以使用元素也可以使用實體,通常情況下在獨立使用時采用STL元素,在嵌入標簽屬性時采用STL實體,例如獨立使用時采用:<stl:content type="summary"></stl:content>
,嵌入屬性時采用:<stl:a title="{stl:content type=summary}">
。
STL標簽的屬性值使用英文雙引號標識,例如:<stl:content type="title"></stl:content>
,STL實體的屬性可以使用英文雙引號、英文單引號或者無標識,例如:{stl:content type="title"}
,{stl:content type='title'}
或者{stl:content type=title}
均為正確的寫法。
# 地址通配符
在STL標簽中,地址使用通配符(“~”)和(“@”)來進行存儲和讀取,您可以使用通配符(“~”)來表示應用程序的根目錄,使用通配符(“@”)來表示當前站點的域名地址,而不需要將地址硬編碼為文件的絕對地址。
例如,您可以使用 <stl:a href="~/index.html">主站</stl:a>
生成指向到主站點index.html文件的鏈接,使用 <stl:a href="@/index.html">本站</stl:a>
生成指向到當前站點index.html文件的鏈接。
# 插件
《STL語言參考手冊》僅列出了 SSCMS 系統自帶標簽,不包含具體插件的標簽使用說明。
插件相關標簽的使用方法請參考對應的插件文檔。
術語 →