Magnolia CMS中无法访问链接及多级子页面的问题咨询
问题原因
原有代码仅遍历了subNavigationRootPage的直接一级子页面,没有嵌套获取一级子页面下的二级子页面资源。
解决方案
嵌套遍历一级子页面的子节点即可获取到二级(孙页面)的链接,修改后代码如下:
[#assign subNavigationRootPage = navfn.ancestorPageAtLevel(content, 2)!] [#if subNavigationRootPage??] [#assign level1NavItems = navfn.navItems(subNavigationRootPage)] [#list level1NavItems as level1Item] <!-- 遍历一级子页面下的二级子页面 --> [#assign level2NavItems = navfn.navItems(level1Item)] [#list level2NavItems as level2Item] <a class="btn btn-secondary" href="${cmsfn.link(level2Item)!}?id=${producto.id}" role="button">Ver detalles</a> [/#list] [/#list] [/#if]
可选调整说明
- 如果你需要同时输出一级子页面和二级子页面的链接,可在二级遍历逻辑前添加一级页面的链接输出代码
- 如果存在更深层级的页面,可按照相同逻辑增加嵌套遍历层级即可
内容的提问来源于stack exchange,提问作者Lwent
相关产品推荐
相关产品推荐

