易捷网站内容管理系统/模版表达式概述

来自站长百科
跳转至: 导航、​ 搜索

易捷网站内容管理系统 | 安装使用 | 模版制作

Cms模板表达式是基于运行时计算的信息设置标签属性的一种声明性方式。当分析页的声明性元素时,在运行时计算表达式,并且表达式所表示的值被表达式语法替换。

基本语法

  • Cms模板表达式的基本语法如下:
{$expressionPrefix:expressionValue} 
  • 美元符号 ($) 通知模板引擎它的后面是一个表达式。表达式前缀定义了表达式的类型,如 config, global 或 node。冒号 (:) 后面的部分是 CMS模板 将解析的实际表达式值。

全局属性

  • 全局表达式是CMS模板中最常用的模板表达式,它用来获取网站的全局属性。它以 global 为前缀,语法如下所示:
{$global:expressionValue} 

表达式

  • SiteUrl

获取网站的绝对URL,尾部不含/。

  • AppPath

获取网站的根虚拟路径。

  • ThemePath

获取网站默认主题虚拟路径。

  • TemplatePath

网站默认模板虚拟路径。

  • ServicePath

网站WCF服务文件虚拟路径。

示例

  • 下面的示例通过全局表达式来获取默认主题路径与网站程序虚拟根路径。
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> 

当前页面节点

  • 页面节点表达式用来获取当前页面节点的属性值,它在所有模板都可以使用。但要注意,它获取的是当前被访问页面的节点。语法如下:
{$node:expressionValue} 
  • 例如,可以使用表达式语法来获取当前页面的名称,如此示例所示:
1 <div class="hd"> 
2           <h2>{$node:DisplayName}</h2> 
3 </div> 

当前内容

  • 内容表达式用来获取当前内容页的内容属性值,它只能在内容页模板使用。语法如下:

{$content:expressionValue}

  • 例如,在内容页模板获取当前内容的相关属性,如此示例所示:
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> 

当前用户

  • 用户表达式用来获取当前用户的有关属性,它可以在所有模板使用。语法如下:

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> 

当前成员类型

  • 成员类型表达式用来获取当前成员类型的有关配置属性,它只能在用户模板中使用。语法如下:

{$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}位(数字,字母和下划线) 
10          </p> 
11 </dd> 

表单参数

  • 表单参数表达式用来获取当前请求页面的查询字符串、表单、Cookie、服务变量的集合,它可以在所有模板中使用。语法如下:

{$params:expressionValue}

  • 下面的示例,用来将请求页面的查询字符串c的值,绑定到一个隐蔽表单字段上:

<input type="hidden" name="c" id="c" value='{$params:c}'>

网站&模块设置

  • 可以使用表达式来引用在网站配置中定义的应用程序设置或模块配置中的定义。例如,您可以将经常使用的字符串(如站点的版权信息)。
  • 在模板中,可以通过使用类似于以下形式的表达式来引用值:

1 {$config:copyright}

您可以使用这种方法在配置文件内维护经常引用的元素,而无需在每一页上更改相同的文本。

您可以从后台网站配置中查找所有的配置键。

如果要调查用某模块的配置,只需在配置键名前附加上模块配置节的名称,并以点号分隔。如下就是调用评论模块配置中的定义。

{$config:comment.enabledComment}

资源文件

  • 除了显示配置文件中包含的值以外,还可以显示存储在资源文件(.resx )中的值。通常使用资源文件来存储与特定语言或语言与区域性组合有关的信息。通过使用资源文件和表达式,可以创建一个根据运行时确定的值(如浏览器所报告的语言和区域性设置,或用户的显式语言选择)来以不同语言显示文本的网页。
  • 例如,在自动本地化内容时,可以使用表达式语法来设置标签的属性,如此示例所示:

<a href="#">{$resource:AboutUs}</a>

  • 在 App_GlobalResources 文件夹中,可以有名为 默认模板方案.resx、默认模板方案.en.resx、默认模板方案.de.resx 等的资源文件,资源文件主名与模板方案相对应,为每个想支持的语言提供一个 模板方案+语言.resx 的资源文件。默认模板方案.resx 文件表示在没有显式设置区域性的情况下使用的非特定(后备)资源。在 默认模板方案.resx 文件中,可能有如下项:
<data name="AboutUs"><value>关于我们</value></data> 
  • 在其他资源文件中可能有类似项,其中字符串被相应地翻译成该资源文件所表示的语言。

参考来源[ ]

YorkCMS使用手册导航

安装使用

运行环境配置 | 安装教程 |

模版制作

分页标签概述 | 数据绑定表达式语法 | 模版表达式概述 | 模版语法 | 模版语法概述 | 模版方案介绍