【问题标题】:Magnolia CMS, iterate through components in different areaMagnolia CMS,遍历不同区域的组件
【发布时间】:2015-03-31 21:11:42
【问题描述】:

我想根据“content-body”区域中的特定组件在“header”区域创建导航。我所需要的只是遍历“content-body”区域组件并找到特定的组件并将它们传递给导航模板。我想知道是否有人可以告诉我如何从不同的区域控制器迭代其他区域组件。

【问题讨论】:

    标签: java content-management-system magnolia


    【解决方案1】:

    您是否尝试过类似的方法:

    [#assign yourOtherArea = cmsfn.contentByPath("/path/to/my/navigation/area")]
    [@cms.area name="navigation" content=yourOtherArea/]
    

    IMO 应该足够了。 cms.area 指令不关心它应该渲染的节点来自哪里。

    HTH,
    一月

    【讨论】:

    • 是的,它可能会起作用,但我认为在控制器中获取我需要的信息(组件)并将其传递给模板会更好。我认为对控制器中的内容进行操作并仅将要使用的内容传递给模板是更好的做法。知道如何遍历开花中其他区域的组件吗?
    • 嗯...假设我有组件“锚”。我可以在任何地方的“body”区域添加 Anchor。 Anchor 包含“Name”控件,简单字符串。现在,我想做的是遍历“body”区域中的所有 Anchors,获取它们的名称并将其放在导航中。
    • @mickiewicz 你有没有解决这个问题?我认为,目前正在寻求做同样的事情。我想在页面顶部动态生成锚链接,将用户带到包含 id 的每个部分。所以想要遍历页面上的每个 magnolia 组件并获取任何具有 id 属性并创建锚点。
    猜你喜欢
    • 1970-01-01
    • 2017-11-01
    • 2016-01-25
    • 2013-03-07
    • 2015-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多