我需要找出木兰中的一个节点是孩子还是父节点。这样,我可以以相反的顺序重新创建元素。例如,我需要找出第一个节点1是快速链接区域节点的子节点,而第二个节点1是链接列表区域节点的子节点。
--quicklinks [mgnl:area]
*--1 [mgnl:component]
*--linklist [mgnl:area]
*--1 [mgnl:component]
*--links [mgnl:area]
*--0 [mgnl:component]
我可以使用哪种方法?
答案 0 :(得分:1)
看看info.magnolia.jcr.util.NodeUtil
。
它带来了很多可用的功能,包括查找所有子节点或获取给定节点的父节点。
干杯
希望有帮助,
答案 1 :(得分:1)
NodeUtil
确实是一个很好的起点。但是您需要为此编写一个模型类。如果要严格将其保留在模板级别,请查看cmsfn
(Magnolia Templating Functions)和Freemarker documentation。您可以执行以下整洁的事情:
Content: ${content}<br />
Parent: ${content?parent}
Siblings (children of parent):<ul>
[#list cmsfn.children(content?parent) as child]<li>${child}</li>[/#list]
</ul>
Reversed siblings (children of parent):<ul>
[#list cmsfn.children(content?parent)?reverse as child]<li>${child}</li>[/#list]
</ul>