STL模闆語言

STL,全稱爲 XYCMS站群系統模版标簽語言,你可以把STL語言理解爲帶有特定意義的占位符,這(zhè)些占位符通過(guò)标簽(元素及實體)來标記出需要調取并顯示的網站數據及功能(néng);在生成(chéng)靜态頁面(miàn)的過(guò)程中,XYCMS 系統通過(guò)STL解析引擎解析這(zhè)些占位符,從站點中獲取對(duì)應的數據,最終將(jiāng)占位符替換爲帶有數據或功能(néng)的HTML标簽并在服務器中生成(chéng)對(duì)應的靜态頁面(miàn)文件。

XYCMS站群系統的核心由内容管理與内容解析兩(liǎng)部分組成(chéng),STL語言就(jiù)是内容管理與内容解析的橋梁,將(jiāng)後(hòu)台管理的各種(zhǒng)動态數據最終解析爲用戶能(néng)訪問的靜态頁面(miàn)。

除了將(jiāng)後(hòu)台的動态數據解析爲前台的靜态頁面(miàn),STL語言還(hái)能(néng)夠實現諸如功能(néng)互動、動态顯示、數據統計、數據庫解析等一系列功能(néng);除了 XYCMS 系統自帶的STL标簽,各類插件也擁有自己的STL标簽,用以實現不同的功能(néng)。

語言規則

和 HTML 語言一樣(yàng),STL語言也是一種(zhǒng)标準通用标記語言,采用與 HTML 語言一緻的語法和規則。

STL語言并不複雜,但功能(néng)強大,其主要規則如下:

  • 标簽不區分大小寫 STL标簽是不區分大小寫的,和 HTML 标簽一樣(yàng),<stl:a><STL:A> 是相同的。

  • 屬性值區分大小寫 STL标簽的屬性值是區分大小寫的,例如 <stl:a channelIndex="News"><stl:a channelIndex="NEWS"> 是不同的。

  • 結束标記可以省略 與 HTML 一樣(yàng),在沒(méi)有子标簽的情況下,STL 可以省略結束标記。例如 <stl:value></stl:value><stl:value /> 是一緻的。

  • 标簽可以嵌套标簽 與 HTML 一樣(yàng),STL 的标簽可以相互嵌套,將(jiāng)一個或多個STL标簽放到其他STL标簽内部。例如 <stl:a><stl:content type="title"></stl:content></stl:a>

元素與實體

STL标簽由元素與實體組成(chéng),元素以尖括号 <> 作爲标記,實體以大括号 {} 作爲标記。

例如顯示内容标題可以采用STL 元素: <stl:content type="title"></stl:content> 也可以采用STL 實體: {stl:content type="title"} 或者内容實體的簡寫: {content.title}

STL元素和STL實體的最大區别在于元素能(néng)夠嵌套子标簽而實體無法嵌套子标簽,例如鏈接标簽 <stl:a channelIndex="新聞">News</stl:a> (將(jiāng)解析爲HTML A标簽)無法通過(guò)實體 {stl:a channelIndex="新聞"} (將(jiāng)解析爲對(duì)應的鏈接地址字符串)表示。

在模闆中你可以使用元素也可以使用實體,通常情況下在獨立使用時(shí)采用STL元素,在嵌入标簽屬性時(shí)采用STL實體,例如獨立使用時(shí)采用:<stl:content type="summary"></stl:content>,嵌入屬性時(shí)采用:<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标簽中,地址使用通配符(“~”)和(“@”)來進(jìn)行存儲和讀取,您可以使用通配符(“~”)來表示應用程序的根目錄,使用通配符(“@”)來表示當前站點的域名地址,而不需要將(jiāng)地址硬編碼爲文件的絕對(duì)地址。

例如,您可以使用 <stl:a href="index2.html">主站</stl:a> 生成(chéng)指向(xiàng)到主站點index.html文件的鏈接,使用 <stl:a href="@/index.html">本站</stl:a> 生成(chéng)指向(xiàng)到當前站點index.html文件的鏈接。

插件标簽

《STL語言參考手冊》僅列出了系統自帶标簽,不包含具體插件的标簽使用說(shuō)明,如需要使用插件标簽,請查看具體的插件使用說(shuō)明和插件源碼。