查找节点是否为子 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>
我需要查明 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>