STL模闆語言
STL,全稱爲(wéi / wèi) XYCMS站群系統模版标簽語言,你可以(yǐ)把STL語言理解爲(wéi / wèi)帶有特定意義的(de)占位符,這(zhè)些占位符通過标簽(元素及實體)來(lái)标記出(chū)需要(yào / yāo)調取并顯示的(de)網站數據及功能;在(zài)生成靜态頁面的(de)過程中,XYCMS 系統通過STL解析引擎解析這(zhè)些占位符,從站點中獲取對應的(de)數據,最終将占位符替換爲(wéi / wèi)帶有數據或功能的(de)HTML标簽并在(zài)服務器中生成對應的(de)靜态頁面文件。
XYCMS站群系統的(de)核心由内容管理與内容解析兩部分組成,STL語言就(jiù)是(shì)内容管理與内容解析的(de)橋梁,将後台管理的(de)各種動态數據最終解析爲(wéi / wèi)用戶能訪問的(de)靜态頁面。
除了(le/liǎo)将後台的(de)動态數據解析爲(wéi / wèi)前台的(de)靜态頁面,STL語言還能夠實現諸如功能互動、動态顯示、數據統計、數據庫解析等一(yī / yì /yí)系列功能;除了(le/liǎo) XYCMS 系統自帶的(de)STL标簽,各類插件也(yě)擁有自己的(de)STL标簽,用以(yǐ)實現不(bù)同的(de)功能。
語言規則
和(hé / huò) HTML 語言一(yī / yì /yí)樣,STL語言也(yě)是(shì)一(yī / yì /yí)種标準通用标記語言,采用與 HTML 語言一(yī / yì /yí)緻的(de)語法和(hé / huò)規則。
STL語言并不(bù)複雜,但功能強大(dà),其主要(yào / yāo)規則如下:
标簽不(bù)區分大(dà)小寫 STL标簽是(shì)不(bù)區分大(dà)小寫的(de),和(hé / huò) HTML 标簽一(yī / yì /yí)樣,
<stl:a>
和(hé / huò)<STL:A>
是(shì)相同的(de)。屬性值區分大(dà)小寫 STL标簽的(de)屬性值是(shì)區分大(dà)小寫的(de),例如
<stl:a channelIndex="News">
和(hé / huò)<stl:a channelIndex="NEWS">
是(shì)不(bù)同的(de)。結束标記可以(yǐ)省略 與 HTML 一(yī / yì /yí)樣,在(zài)沒有子(zǐ)标簽的(de)情況下,STL 可以(yǐ)省略結束标記。例如
<stl:value></stl:value>
與<stl:value />
是(shì)一(yī / yì /yí)緻的(de)。标簽可以(yǐ)嵌套标簽 與 HTML 一(yī / yì /yí)樣,STL 的(de)标簽可以(yǐ)相互嵌套,将一(yī / yì /yí)個(gè)或多個(gè)STL标簽放到(dào)其他(tā)STL标簽内部。例如
<stl:a><stl:content type="title"></stl:content></stl:a>
。
元素與實體
STL标簽由元素與實體組成,元素以(yǐ)尖括号 <>
作爲(wéi / wèi)标記,實體以(yǐ)大(dà)括号 {}
作爲(wéi / wèi)标記。
例如顯示内容标題可以(yǐ)采用STL 元素: <stl:content type="title"></stl:content>
也(yě)可以(yǐ)采用STL 實體: {stl:content type="title"}
或者内容實體的(de)簡寫: {content.title}
。
STL元素和(hé / huò)STL實體的(de)最大(dà)區别在(zài)于(yú)元素能夠嵌套子(zǐ)标簽而(ér)實體無法嵌套子(zǐ)标簽,例如鏈接标簽 <stl:a channelIndex="新聞">News</stl:a>
(将解析爲(wéi / wèi)HTML A标簽)無法通過實體 {stl:a channelIndex="新聞"}
(将解析爲(wéi / wèi)對應的(de)鏈接地(dì / de)址字符串)表示。
在(zài)模闆中你可以(yǐ)使用元素也(yě)可以(yǐ)使用實體,通常情況下在(zài)獨立使用時(shí)采用STL元素,在(zài)嵌入标簽屬性時(shí)采用STL實體,例如獨立使用時(shí)采用:<stl:content type="summary"></stl:content>
,嵌入屬性時(shí)采用:<stl:a title="{stl:content type=summary}">
。
STL标簽的(de)屬性值使用英文雙引号标識,例如:<stl:content type="title"></stl:content>
,STL實體的(de)屬性可以(yǐ)使用英文雙引号、英文單引号或者無标識,例如:{stl:content type="title"}
,{stl:content type='title'}
或者{stl:content type=title}
均爲(wéi / wèi)正确的(de)寫法。
地(dì / de)址通配符
在(zài)STL标簽中,地(dì / de)址使用通配符(“~”)和(hé / huò)(“@”)來(lái)進行存儲和(hé / huò)讀取,您可以(yǐ)使用通配符(“~”)來(lái)表示應用程序的(de)根目錄,使用通配符(“@”)來(lái)表示當前站點的(de)域名地(dì / de)址,而(ér)不(bù)需要(yào / yāo)将地(dì / de)址硬編碼爲(wéi / wèi)文件的(de)絕對地(dì / de)址。
例如,您可以(yǐ)使用 <stl:a href="../index2.html">主站</stl:a>
生成指向到(dào)主站點index.html文件的(de)鏈接,使用 <stl:a href="@/index.html">本站</stl:a>
生成指向到(dào)當前站點index.html文件的(de)鏈接。
插件标簽
《STL語言參考手冊》僅列出(chū)了(le/liǎo)系統自帶标簽,不(bù)包含具體插件的(de)标簽使用說(shuō)明,如需要(yào / yāo)使用插件标簽,請查看具體的(de)插件使用說(shuō)明和(hé / huò)插件源碼。