易捷网站内容管理系统/模版语法
来自站长百科
易捷网站内容管理系统 | 安装使用 | 模版制作 |
本主题描述可用于以声明方式创建CMS模板的标记语法。
代码声明块
- 代码声明块定义嵌入CMS模板文件内使用 runat="server" 特性标记的 <script> 块中的服务端代码。
1 <script runat="server" src="pathname"> 2 Code goes here. 3 </script>
特性
- runat:如果该值为 runat="server",则此特性指定 script 块中包含的代码在服务端而不是客户端上运行。此特性对于服务端代码块是必需的。
- src:指定要加载的外部脚本文件的路径和文件名。当使用该特性时,将忽略声明块中的任何其他代码。
备注
- 代码声明块是使用 <script> 标记(包含设置为 server 的 runat 特性值)定义的。编译给定的CMS模板文件时,嵌入的代码块将随之一起编译。
您也可以通过利用 src 特性,使用 <script> 元素来指定外部脚本文件。如果定义了 src 特性,将忽略 <script> 元素的开始标记和结束标记之间的所有内容。在这种情况下,请在开始标记的最后使用结束斜杠。例如:<script runat="server" src="myFile.cs" />。
01 <html> 02 <script runat="server"> 03 override void OnPageLoad(object sender, EventArgs e) 04 { 05 newsList.skip=10; 06 } 07 </script> 08 09 <body> 10 <cms:cl class="newsList" take="5" nodes="{$NodeId}"> 11 <li><span>{$PublishedDate|format=yyyy-MM-dd}</span><a href="{$Url}">{$Title}</a></li> 12 </cms:cl> 13 </body> 14 </html>
代码呈现块
- 代码呈现块定义当呈现页时执行的内联代码或内联表达式。存在两种样式的代码呈现块:内联代码和内联表达式。使用内联代码可以定义独立的行或代码块。将内联表达式用作调用 Write 方法的快捷方式。
1 <% inline code %> 2 <%=inline expression %>
备注
- 如果您尝试将字符序列 %> 包含在代码呈现块中的任意位置,则会出现编译错误。该序列只能用于结束代码呈现块。例如,下面的代码将导致错误:
1 <% 2 Response.Write(" %>"); 3 %>
- 若要更正该错误,可以构建包含字符序列的字符串,如下面的代码示例所示:
1 <% 2 String s = "%" + ">"; 3 Response.Write(s); 4 %>
示例
- 下面的代码示例演示如何使用代码呈现块以多种不同的字号显示相同的 HTML 文本。
1 <% for (int i=0; i<10; i++) { %> 2 <font size="<%=i %>"> Hello World! </font> 3 <% } %>
服务器端注释
- 服务器端注释允许开发人员在 CMS模板文件的任何部分(除了 <script> 代码块内部)嵌入代码注释。服务器端注释元素的开始标记和结束标记之间的任何内容,不管是代码还是文本,都不会在服务端进行处理或呈现在结果页上。
<%-- 注释内容 --%>
备注
- 服务器端注释块与传统的语言特定注释块具有相同的用法。例如,您可以使用服务器端注释来描述文件的标记部分,或注释掉模板中声明的一个或多个模板标签。
- 请注意,服务器端注释用于模板的主体,但不能在服务器端代码块中使用。当您在代码声明块(包含在 <script runat="server"></script> 标记中的代码)或代码呈现块(包含
在 <% %> 标记中的代码)中使用特定语言时,应使用正用于编码的语言的注释语法。
- 如果在 <% %> 块中使用服务器端注释块,则会出现编译错误。
- 要注释掉模板标签,必须使用服务端注释。
- 开始和结束注释标记可以出现在同一行代码中,也可以由许多被注释掉的行隔开。
- 服务器端注释块不能被嵌套。
示例
- 下面的代码示例演示使用服务器端注释注释掉的 Pager 模板标签。
1 <%-- 2 <cms:pager targetid="newsList" pagesize="10" class="pager"> 3 {$FirstLink}{$PrevLink}{$NumLink}{$NextLink}{$LastLink} 4 </cms:pager> 5 --%>
数据绑定表达式语法
- 数据绑定表达式创建CMS模板标签属性和数据源之间的绑定。可以将数据绑定表达式包含在CMS模板标签的开始标记中特性/值对的值一侧,或标签模板内。
1 <cms:tagname property="{$expression}">
2 </cms:tagname>
参数
- property:为其声明数据绑定的标签属性。
- 数据绑定表达式:符合备注部分中概述的要求的任意表达式。
备注
- 所有数据绑定表达式都必须包含在 {$ 和 } 字符之间。
- 数据绑定表达式采用数据字段的值作为参数并将其作为字符串返回。
示例
- 下面的代码示例演示如何在CMS模板标签中根据属性进行数据绑定。
01 <cms:nv url="~/about/news" tagname="div" class="news"> 02 <div class="hd"> 03 <h2> 最新动态 </h2><span class="r"><a href="{$Url}">更多>></a></span> 07 <div class="clear"></div> 08 </div> 09 <div class="bd"> 10 <cms:cl class="newsList" take="5" nodes="{$NodeId}"> 11 <li><span>{$PublishedDate|format=yyyy-MM-dd}</span><a href="{$Url}">{$Title}</a></li> 12 </cms:cl> 13 </div> 14 </cms:nv>
服务器端包括指令语法
- 将指定模板文件的内容插入到当前模板文件中。
1
特性
- File:文件名是相对于包含带有 #include 指令的文件的目录的物理路径。此路径可以是相对的。
备注
- 赋予 File 特性的值必须用引号 ("") 括起来。在执行任何动态代码之前处理被包含的文件。从静态文本(如公共页标题或公司地址)到公共服务器端代码、标签或开发人员要插入到其他页中的 HTML 标记块,包含文件可用于包含任何内容。
- include 标记必须包括在 HTML 或 XML 注释分隔符内以避免被解释为文本。
示例
- 下面的代码示例演示如何使用服务器端包含指令语法来调用将在CMS模板页上创建页眉和脚注的文件。两个文件都使用相对路径。
01 <html> 02 <body> 03 <!--页眉开始--> 04 <!--#include file="head.html"--> 05 <!--页眉结束--> 06 这里为主内容 07 <!-- 页脚开始 --> 08 <!--#include file="footer.html"--> 09 <!-- 页脚结束 --> 10 </body> 11 </html>
YorkCMS使用手册导航 | ||||
---|---|---|---|---|
|