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

取得标识符相同的子节点集

fatdong | 2015年10月08日 |

>>收藏本文 已有 0条评论

  最近项目遇到这样的一样的一个需求,A栏目要读取C、D、E、F...栏目下的所有与A栏目名字相同的子栏目的内容,B栏目要读取C、D、E、F...栏目下的所有与B栏目名字相同的子栏目的内容;不知大家是否能看得明,如果看不明可以看一下下面的例子:

一级栏目 二级栏目 三级栏目 说明
最新动态     调取栏目一、栏目二...下的最新动态
图片资料     调取栏目一、栏目二...下的图片资料
视频资料     调取栏目一、栏目二...下的图片资料
工作室 栏目一

最新动态

图片资料

视频资料

 
栏目二

最新动态

图片资料

视频资料

 
栏目三

最新动态

图片资料

视频资料

 
栏目四

最新动态

图片资料

视频资料

 
栏目五

最新动态

图片资料

视频资料

 
......

最新动态

图片资料

视频资料

 

  看上面的表大家应该明白这里栏目信息的读取关系了吧,有的人可能会想到直把对应节点的ID填上去就可以了,这是栏目固定的情况下才能这样做。但这里的二级栏目可能还会有栏目五、栏目六...,这样就只能通过标签动态获取对应的节点ID了。翻一下系统默认的那些标签发现没有能这样获取节点集的标签,只好自己做一下,如果下次有遇到这种情况的同学就可以直接拿来用了。

  因为这里的栏目名都是一样的,所以节点的标识符都是一样的,这样的好办了,只要查找到“工作室”下的所有子节点(包括三级节点),然后筛选出符合条件的子节点就可以了;获取到相应的节点ID集后怎么做这个应该不用我多说了吧,这个跟“取得子节点集”的标签是同样的一个用法,SQL语句也很简单

select * from PE_nodes where nodeId in (SELECT * FROM SplitID((SELECT arrChildID FROM PE_Nodes WHERE NodeID = @nodeId), ',')) and NodeIdentifier = '@NodeIdentifier'

 

@nodeId 是父节点的ID

@NodeIdentifier 对应子节点的标识符

 

标签的参数也就上面这两个,如果有需要可以跟据实际情况自己添加一下

 

标签下载:通过标识符取得子节点集.zip