取得节点下第N个子节点ID标签在模板中的应用
在集群网站或专题中,有时候会遇到各子站或专题网站共用一个网站模板的情况,通常我们会先复制一套模板出来,然后再修改模板,对应模板中的栏目ID,如果一两套这样做还可以,但如果上百套,那就要建100个模板文件,修改上千次栏目ID,工作量可想而知,并且还容易修改错。
模板要想能共用,网站模板中的ID就不能是写死的。比如模板中就不能出现类似nodeId="6" 这样的写法,而我们通常要写成nodeId="@ RequestInt_id"来自动获取栏目ID。
因为模板中的数据也无怪乎是调取了某一个栏目下的数据,那我们只需把这块的数据调用子站第N个栏目下的数据就可以了。
比如模板中的一块调用了子站节点下第2个栏目的数据,我们就可以这样写
- <ul class="infoList">
- {PE.Label id="通用信息列表"
- bindStyle="普通式"
- outputQty="10"
- nodes="{PE.Label id="取得节点下第N个子节点ID" nodeId="@ RequestInt_id" position="2" /}"
- titleLength="44"
- displayTips="true"
- listOrderType="3"
- displayDateTime="mm-dd"/}
- ul>
标签制作步骤:
1.名称:取得节点下第N个子节点ID
2.参数:
参数名称
|
数据类型
|
默认值
|
参数说明
|
|
---|---|---|---|---|
nodeId | supersql | 1 | 节点ID{默认值:1,传入值:@ RequestInt_Id} | |
position | sql.int | 1 | 子节点第N个位置 |
3.SQL:
SELECT NodeID FROM PE_Nodes WHERE ParentID = @nodeId ORDER BY OrderID
4.标签体:
- xml version="1.0" encoding="utf-8"?>
- <xsl:transform version="1.0" xmlns:xsl="" xmlns:pe="labelproc" exclude-result-prefixes="pe">
- <xsl:output method="xml" omit-xml-declaration="yes" />
- <xsl:output method="html" />
- <xsl:param name="position"/>
- <xsl:template match="/NewDataSet/Table">
- <xsl:choose>
- <xsl:when test="position()=$position">
- <xsl:value-of select="NodeID" />
- xsl:when>
- xsl:choose>
- xsl:template>
- xsl:transform>
用户登录
还没有账号?
立即注册