查找节点是否为子 magnolia CMS

Find if node is a child magnolia CMS

我需要查明 magnolia 中的节点是否是子节点以及谁是父节点。这样我就可以按相反的顺序重新创建元素。例如,我需要找出第一个节点 1 是快速链接区域节点的子节点,第二个节点 1 是链接列表区域节点的子节点。

--quicklinks  [mgnl:area] 
 *--1         [mgnl:component]
  *--linklist [mgnl:area]
    *--1      [mgnl:component]
     *--links [mgnl:area]
      *--0    [mgnl:component]

我可以使用什么方法?

看看info.magnolia.jcr.util.NodeUtil

它带来了许多可用的功能,包括查找所有子节点或获取给定节点的父节点。

干杯,

希望对您有所帮助,

NodeUtil 确实是一个很好的起点,正如@Ducaz035 提到的那样。但是您需要为此编写一个模型 class。如果你想把事情严格保持在模板级别,看看 cmsfn (Magnolia Templating Functions) and the 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>