您的位置:首页> 日志> 动易系统 正文

在集群网站或专题中,有时候会遇到各子站或专题网站共用一个网站模板的情况,通常我们会先复制一套模板出来,然后再修改模板,对应模板中的栏目ID,如果一两套这样做还可以,但如果上百套,那就要建100个模板文件,修改上千次栏目ID,工作量可想而知,并且还容易修改错。

 

模板要想能共用,网站模板中的ID就不能是写死的。比如模板中就不能出现类似nodeId="6" 这样的写法,而我们通常要写成nodeId="@ RequestInt_id"来自动获取栏目ID。

 

因为模板中的数据也无怪乎是调取了某一个栏目下的数据,那我们只需把这块的数据调用子站第N个栏目下的数据就可以了。

 

   比如模板中的一块调用了子站节点下第2个栏目的数据,我们就可以这样写

 

  1. <ul class="infoList"> 
  2. {PE.Label id="通用信息列表" 
  3. bindStyle="普通式"
  4. outputQty="10"
  5. nodes="{PE.Label id="取得节点下第N个子节点ID" nodeId="@ RequestInt_id" position="2" /}"
  6. titleLength="44"
  7. displayTips="true"
  8. listOrderType="3"
  9. displayDateTime="mm-dd"/} 
  10. </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.标签体:

 

  1. <?xml version="1.0" encoding="utf-8"?> 
  2.  
  3. <xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:pe="labelproc" exclude-result-prefixes="pe"> 
  4.  
  5. <xsl:output method="xml" omit-xml-declaration="yes" /> 
  6.  
  7. <xsl:output method="html" /> 
  8.  
  9. <xsl:param name="position"/> 
  10.  
  11. <xsl:template match="/NewDataSet/Table"> 
  12.  
  13. <xsl:choose> 
  14.  
  15. <xsl:when test="position()=$position"> 
  16.  
  17.  <xsl:value-of select="NodeID" /> 
  18.  
  19. </xsl:when> 
  20.  
  21. </xsl:choose> 
  22.  
  23. </xsl:template> 
  24.  
  25. </xsl:transform>