【标签】如何循环显示出指定的节点
在前台显示的节点页面中,我们可能需要循环显示出当前节点下指定的某些一级子节点及包含的文章,但系统提供的默认标签都是显示当前节点下的所有一级子节点,我们应该怎么处理?
其实我们可以比较方便的对原标签进行调整,下面以文章模型的标签做示范,标签名是“文章二列式栏目左右循环”,为了“保护”原标签,我们通常会复制一份,然后再进行修改,下面是修改步骤:
1、进入后台标签管理里,查询到这个标签
2、然后复制一份
3、然后我们修改这个标签
4、修改SQL语句,加上对刚添加的参数的SQL设置
SELECT TOP @pagesize * FROM PE_Nodes WHERE NodeID NOT IN (SELECT TOP @startrow NodeID FROM PE_Nodes WHERE ParentID = @parentId AND PurviewType != 3 AND Nodeid IN (@point) ) AND (ParentID = @parentId) AND PurviewType != 3 AND Nodeid IN (@point) ORDER BY OrderID
查询统计语句里也同样加上
SELECT TOP @startrow NodeID FROM PE_Nodes WHERE ParentID = @parentId AND PurviewType != 3 AND Nodeid IN (@point)
5、点击下一步进入标签体代码编辑区,我们先要增加对这个参数的定义
然后继续在下面代码处添加它的调用
{PE.Label id="显示文章子栏目列表" parentId="
" nodeArray="
"
point="$point" outputQty="
" titleLength="
" displayPropertyType="
" displayIncludePic="
" displayAuthor="
" displayDateTime="
" displayHits="
" displayHotSign="
" displayNewSign="
" displayTips="
" displayCommentLink="
" linkOpenType="
" hits="
" eliteLevel="
" /}
{PE.Label id="显示文章二列式栏目左右循环" nodeArray="
"
point="$point" parentId="
" outputQty="
" titleLength="
" displayPropertyType="
" displayIncludePic="
" displayAuthor="
" displayDateTime="
" displayHits="
" displayHotSign="
" displayNewSign="
" displayTips="
" displayCommentLink="
" linkOpenType="
" hits="
" eliteLevel="
" /}
6、保存此标签,至此标签编辑工作已经完成,下面我们看下前台显示效果
“文章中心”首页模板里代码调用情况
1、默认调用模式
{PE.Label id="文章二列式栏目左右循环" parentId="@RequestInt_Id" /}
前台效果图
模板里换成调用调整后的标签
{PE.Label id="文章二列式栏目左右循环(1)" parentId="@RequestInt_Id" point="12,23" /}
----------这里只指定调用“文章一级节点”和“文章一级节点三”节点
前台效果图
附:如果标签里设置 point 的参数值为“0”时,就是默认调用模式,即全部循环调用出当前节点下所有一级子节点