# <stl:content> 获取内容值
<stl:content
type="显示的类型"
wordNum="显示字符的数目"
startIndex="字符开始位置"
length="指定字符长度"
ellipsis="文字超出部分显示的文字"
replace="需要被替换的文字"
to="替换文字"
isClearTags="清除标签"
isReturnToBr="回车改为换行"
isLower="转换为小写"
isUpper="转换为大写"
formatString="显示的格式"
no="显示第几项"
separator="显示多项时的分割字符串"
isOriginal="获取所引用内容的值"
leftText="显示在信息前的文字"
rightText="显示在信息后的文字">
</stl:content>
# 说明
通过 stl:content 标签在模板中显示指定内容的属性值。
<stl:content> 标签在内容模板中单独使用时,系统默认将显示当前内容的值。
如果 <stl:content> 标签嵌套在 <stl:contents>以及<stl:pageContents> 内容列表标签内,系统将获取内容列表项并解析为相应的值。
stl:content 标签只能放在内容模版中或者作为 <stl:contents>以及<stl:pageContents> 等内容列表标签的子标签。
type 属性用于明确需要显示内容的具体字段,如果未设置,系统将显示内容标题。
如果需要对返回的文字进行截字或者其他处理,请设置 解析文字 属性。
如果需要显示日期/时间类型的内容字段,可以通过 formatString 属性 格式化日期。
如果希望将内容的属性值放到 HTML 元素或者 STL 元素的属性中使用,请使用{stl:content} 实体写法,如:<a title="{stl:content type=title}">
。
如果需要获取内容正文并翻页显示,请设置type属性为 pageContent
,同时配合 stl:pageItem 标签实现翻页效果。
# 解析
如果使用 <stl:content> 元素,系统将根据内容字段的类型解析为不同的值(通常为字符串,如果字段类型为图片系统将解析为<img>标签)。
如果使用 {stl:content} 实体,系统将根据是否设置type 属性,解析为不同的结果:
- 设置了type属性,系统将实体解析为内容的具体字段值。
- 未设置type属性,系统将实体解析为内容的JSON对象。
# 属性
属性 | 说明 |
---|---|
type | 显示的类型 |
wordNum | 显示字符的数目 |
startIndex | 字符开始位置 |
length | 指定字符长度 |
ellipsis | 文字超出部分显示的文字 |
replace | 需要被替换的文字 |
to | 替换文字 |
isClearTags | 清除标签 |
isReturnToBr | 回车改为换行 |
isLower | 转换为小写 |
isUpper | 转换为大写 |
formatString | 显示的格式 |
no | 显示第几项 |
separator | 显示多项时的分割字符串 |
isOriginal | 获取所引用内容的值 |
leftText | 显示在信息前的文字 |
rightText | 显示在信息后的文字 |
# type - 显示的类型
显示内容属性的类型。根据后台内容表字段的不同 type 属性可以有不同的取值。详细字段请参考:内容表结构。
"title"
内容标题"id"
内容 Id"addUserName"
内容添加者"addDate"
内容添加时间"lastEditUserName"
最后修改内容的用户名"lastEditDate"
内容的最后修改时间"subTitle"
内容副标题"summary"
内容简介"imageUrl"
内容图片"linkUrl"
内容链接"fileUrl"
内容附件"author"
内容作者"source"
内容来源"content"
内容正文"pageContent"
能够翻页显示的内容正文"tags"
内容标签"hits"
内容总点击量"hitsByDay"
日点击量"hitsByWeek"
周点击量"hitsByMonth"
月点击量"lastHitsDate"
最后一次点击时间"itemIndex"
项次序数字"自定义字段"
在后台内容字段管理中自定义的字段名称。
# wordNum - 显示字符的数目
设置显示文字的字数,超出部分将用 ellipsis 属性设置的值替代。
TIP
wordNum 区分中英文,中文汉字算作一个字符,两个英文字母才算作一个字符。 由于在 Web 页面中,两个英文字母的宽度等于一个汉字,所以我们通常使用 wordNum 属性来设置文本的显示数量。
<stl:content wordNum="50"></stl:content>
# startIndex - 字符开始位置
设置文字开始显示的位置,默认值为 0,代表从头显示。
TIP
startIndex 不区分中英文,汉字、英文字母、空格及符号均认为是一个字符。
<stl:content startIndex="10"></stl:content>
# length - 指定字符长度
设置显示文字的字数,超出部分将用 ellipsis 属性设置的值替代。
TIP
length 不区分中英文,汉字、英文字母、空格及符号均认为是一个字符。
<stl:content length="100"></stl:content>
# ellipsis - 文字超出部分显示的文字
设置了 wordNum 属性或者 length 属性时,当文字超出了指定的字数后,超出部分将用 ellipsis 属性设置的值来替代。
ellipsis 的默认值为 ...
,你也可以设置空值(ellipsis="")来让超出部分不使用符号替换。
<stl:content wordNum="100" ellipsis=" -- end --"></stl:content>
# replace - 需要被替换的文字
如果需要将文字中的一部分替换为另一部分,可以使用 replace 属性和 to 属性。
replace 代表需要替换的文字,支持纯文本、列表和正则表达式三种写法。
# 使用纯文本替换
纯文本替换直接输入替换前文字和替换后文字即可:
<stl:content replace="他" to="她"></stl:content>
# 使用列表替换
列表替换适合多个文本替换的情况,将需要替换的文字用英文逗号(,)隔开:
<stl:content replace="他,她" to="he,she"></stl:content>
如果多个文本都替换为一个文本,to 属性可以不使用逗号隔开:
<stl:content replace="他,她" to="who"></stl:content>
# 使用正则表达式替换
正则表达式替换需要将 replace 前后添加“/”符号,“/”符号之间的文字为替换需要使用的正则表达式:
<stl:content replace="/(Mr\\.? |Mrs\\.? |Miss |Ms\\.? )/" to=""></stl:content>
# to - 替换文字
to 代表替换后的文字。
# isClearTags - 清除标签
设置是否清除 HTML 标签,仅显示纯文本。
在后台内容编辑器中录入的数据通常会带有大量的 HTML 标签,如果我们只希望显示文字本身,需要使用 isClearTags 属性。
"true"
清除 HTML 标签。"false"
不清除 HTML 标签。此值是默认的,如果没有指定属性的话。
<stl:content type="content" isClearTags="true"></stl:content>
# isReturnToBr - 回车改为换行
设置是否将回车换行符号替换为 HTML <br>换行标签。
由于 HTML 中的换行在页面中显示为空格,所以如果需要显示后台 TextArea 文本框录入的换行时,需要使用 isReturnToBr 属性。
"true"
替换回车符。"false"
不替换回车符。此值是默认的,如果没有指定属性的话。
<stl:content type="summary" isReturnToBr="true"></stl:content>
# isLower - 转换为小写
设置是否将文本中的所有英文字母转换为小写字母。
"true"
转换为小写。"false"
不转换为小写。此值是默认的,如果没有指定属性的话。
<stl:content type="title" isLower="true"></stl:content>
# isUpper - 转换为大写
设置是否将文本中的所有英文字母转换为大写字母。
"true"
转换为大写。"false"
不转换为大写。此值是默认的,如果没有指定属性的话。
<stl:content type="title" isUpper="true"></stl:content>
# formatString - 显示的格式
当需要显示日期型的字段值时,可以通过 formatString 属性来设置日期格式。
<stl:content type="AddDate" formatString="yyyy-MM-dd"></stl:content>
# no - 显示第几项
显示第几项。
# separator - 显示多项时的分割字符串
显示多项时的分割字符串。
# isOriginal - 获取所引用内容的值
如果是引用内容,是否获取所引用内容的值。
"true"
显示所引用内容的值。"false"
不显示所引用内容的值。此值是默认的,如果没有指定属性的话。
# leftText - 显示在信息前的文字
显示在文字之前的文字,系统会判断文字是否为空,如果文字为空,文字前缀也将不显示。
<stl:content leftText="标题:" type="title"></stl:content>
# rightText - 显示在信息后的文字
显示在文字之后的文字,系统会判断文字是否为空,如果文字为空,文字后缀也将不显示。
<stl:content leftText="【" rightText="】" type="title"></stl:content>
# 示例
# 在内容列表中显示内容链接
下面的例子显示栏目索引为"新闻"的栏目的内容列表前五条,内容链接的提示为内容标题全称。
<stl:contents channelIndex="新闻" totalNum="5" width="80%" border="0">
<stl:a title="{Content.FullTitle}" target="_blank">
<stl:content type="Title"></stl:content><br />
</stl:a>
</stl:contents>
解析后的 HTML 代码:
<a href="/news/4.html" title="我是带图片的内容" target="_blank">
我是带图片的内容<br>
</a>
<a href="/news/3.html" title="我也是带图片的内容" target="_blank">
我也是带图片的内容<br>
</a>
<a href="/news/2.html" title="我也是带图片的内容" target="_blank">
我也是带图片的内容<br>
</a>
<a href="/news/1.html" title="我是带图片的内容" target="_blank">
我是带图片的内容<br>
</a>
# 显示内容的副标题
下面的例子在页面中显示内容的副标题。
<stl:content type="SubTitle"></stl:content>
解析后的 HTML 代码:
内容副标题
# 显示内容的添加时间
下面的例子在页面中显示内容的添加时间,并按照"yyyy-MM-dd"格式显示。
<stl:content type="AddDate" formatString="yyyy-MM-dd"></stl:content>
解析后的 HTML 代码:
2013-06-03