易捷網(wǎng)站內(nèi)容管理系統(tǒng)/模版表達式概述
來自站長百科
Cms模板表達式是基于運行時計算的信息設(shè)置標簽屬性的一種聲明性方式。當分析頁的聲明性元素時,在運行時計算表達式,并且表達式所表示的值被表達式語法替換。
基本語法
- Cms模板表達式的基本語法如下:
{$expressionPrefix:expressionValue}
- 美元符號 ($) 通知模板引擎它的后面是一個表達式。表達式前綴定義了表達式的類型,如 config, global 或 node。冒號 (:) 后面的部分是 CMS模板 將解析的實際表達式值。
全局屬性
- 全局表達式是CMS模板中最常用的模板表達式,它用來獲取網(wǎng)站的全局屬性。它以 global 為前綴,語法如下所示:
{$global:expressionValue}
表達式
- SiteUrl
獲取網(wǎng)站的絕對URL,尾部不含/。
- AppPath
獲取網(wǎng)站的根虛擬路徑。
- ThemePath
獲取網(wǎng)站默認主題虛擬路徑。
- TemplatePath
網(wǎng)站默認模板虛擬路徑。
- ServicePath
網(wǎng)站W(wǎng)CF服務(wù)文件虛擬路徑。
示例
- 下面的示例通過全局表達式來獲取默認主題路徑與網(wǎng)站程序虛擬根路徑。
1 <link href="{$global:ThemePath}base.css" type="text/css" rel="stylesheet" /> 2 <link href="{$global:ThemePath}index.css" type="text/css" rel="stylesheet" /> 3 <script src="{$global:AppPath}Scripts/jquery.js" type="text/javascript"></script> 4 <script src="{$global:AppPath}Scripts/jquery.tmpl.js" type="text/javascript"></script>
當前頁面節(jié)點
- 頁面節(jié)點表達式用來獲取當前頁面節(jié)點的屬性值,它在所有模板都可以使用。但要注意,它獲取的是當前被訪問頁面的節(jié)點。語法如下:
{$node:expressionValue}
- 例如,可以使用表達式語法來獲取當前頁面的名稱,如此示例所示:
1 <div class="hd"> 2 <h2>{$node:DisplayName}</h2> 3 </div>
當前內(nèi)容
- 內(nèi)容表達式用來獲取當前內(nèi)容頁的內(nèi)容屬性值,它只能在內(nèi)容頁模板使用。語法如下:
{$content:expressionValue}
- 例如,在內(nèi)容頁模板獲取當前內(nèi)容的相關(guān)屬性,如此示例所示:
1 <h2>{$content:Title}</h2> 2 <div class="content_info"> 3 時間:{$content:PublishedDate|format=yyyy年MM月dd日} 來源:{$content:Source} 作者:{$content:Author} 點擊:{$content:HitCount}次 4 </div>
當前用戶
- 用戶表達式用來獲取當前用戶的有關(guān)屬性,它可以在所有模板使用。語法如下:
1{$user:expressionValue}
- 示例:
01 <div class="leftside"> 02 <div class="avatar"> 03 <div class="myavatar"> 04 <img src="{$user:Avatar}" alt="頭像" /> 05 </div> 06 <div class="username"> 07 {$user:UserName}<br /> 08 <a href="{$global:AppPath}{$user:MemberType}/Profile.aspx">更換頭像</a> 09 </div> 10 </div> 11 </div>
當前成員類型
- 成員類型表達式用來獲取當前成員類型的有關(guān)配置屬性,它只能在用戶模板中使用。語法如下:
{$membertype:expressionValue}
- 示例:
01 <dd> 02 <label for="username"> 03 帳號: 04 </label> 05 <p class="rinput"> 06 <input type="text" name="username" id="username" autocomplete="off" class="txt" /> 07 </p> 08 <p class="tip"> 09 用戶名不能小于{$membertype:MinUserNameLength}位大于{$membertype:MaxUserNameLength}位(數(shù)字,字母和下劃線) 10 </p> 11 </dd>
表單參數(shù)
- 表單參數(shù)表達式用來獲取當前請求頁面的查詢字符串、表單、Cookie、服務(wù)變量的集合,它可以在所有模板中使用。語法如下:
{$params:expressionValue}
- 下面的示例,用來將請求頁面的查詢字符串c的值,綁定到一個隱蔽表單字段上:
<input type="hidden" name="c" id="c" value='{$params:c}'>
網(wǎng)站&模塊設(shè)置
- 可以使用表達式來引用在網(wǎng)站配置中定義的應(yīng)用程序設(shè)置或模塊配置中的定義。例如,您可以將經(jīng)常使用的字符串(如站點的版權(quán)信息)。
- 在模板中,可以通過使用類似于以下形式的表達式來引用值:
1 {$config:copyright}
您可以使用這種方法在配置文件內(nèi)維護經(jīng)常引用的元素,而無需在每一頁上更改相同的文本。
您可以從后臺網(wǎng)站配置中查找所有的配置鍵。
如果要調(diào)查用某模塊的配置,只需在配置鍵名前附加上模塊配置節(jié)的名稱,并以點號分隔。如下就是調(diào)用評論模塊配置中的定義。
{$config:comment.enabledComment}
資源文件
- 除了顯示配置文件中包含的值以外,還可以顯示存儲在資源文件(.resx )中的值。通常使用資源文件來存儲與特定語言或語言與區(qū)域性組合有關(guān)的信息。通過使用資源文件和表達式,可以創(chuàng)建一個根據(jù)運行時確定的值(如瀏覽器所報告的語言和區(qū)域性設(shè)置,或用戶的顯式語言選擇)來以不同語言顯示文本的網(wǎng)頁。
- 例如,在自動本地化內(nèi)容時,可以使用表達式語法來設(shè)置標簽的屬性,如此示例所示:
<a href="#">{$resource:AboutUs}</a>
- 在 App_GlobalResources 文件夾中,可以有名為 默認模板方案.resx、默認模板方案.en.resx、默認模板方案.de.resx 等的資源文件,資源文件主名與模板方案相對應(yīng),為每個想支持的語言提供一個 模板方案+語言.resx 的資源文件。默認模板方案.resx 文件表示在沒有顯式設(shè)置區(qū)域性的情況下使用的非特定(后備)資源。在 默認模板方案.resx 文件中,可能有如下項:
<data name="AboutUs"><value>關(guān)于我們</value></data>
- 在其他資源文件中可能有類似項,其中字符串被相應(yīng)地翻譯成該資源文件所表示的語言。
參考來源[ ]
YorkCMS使用手冊導航 | ||||
---|---|---|---|---|
|