我尝试使用包含导航(页面列表)的模板创建Web内容:
<nav id="navigation">
<ul>
<#list nav_items as nav_item>
<#assign nav_item_css_class = "" />
<#if nav_item.isSelected()>
<#assign nav_item_css_class = "selected" />
</#if>
<li class="${nav_item_css_class}">
<a href="${nav_item.getURL()}">${nav_item.getName()}</a>
<#if nav_item.hasChildren()>
<ul class="child-menu">
<#list nav_item.getChildren() as nav_child>
<#assign nav_child_css_class = "" />
<#if nav_item.isSelected()>
<#assign nav_child_css_class = "selected" />
</#if>
<li class="${nav_child_css_class}">
<a href="${nav_child.getURL()}">${nav_child.getName()}</a>
</li>
</#list>
</ul>
</#if>
</li>
</#list>
</ul>
</nav>
但是我收到了这个错误:
Expression nav_items is undefined
在我的主题navigation.ftl
中,它有效,但在WCM中ftl
( FreeMarker )不起作用。
那么,我怎样才能获得WCM中的页面列表?
答案 0 :(得分:3)
页面列表仅在ADTs(应用程序显示模板)中可用,而不在WCM templates中。
如果您确实需要该列表并且可以使用ADT,请改用navItems
变量。变量nav_items
仅适用于主题(为了向后兼容,我猜)。
文档 - 很难找到。使用力量,阅读来源 - GitHub。
您可能希望使用方便的Freemarker脚本来显示所有可用变量 - 请参阅James Falkner博客上的Dumping ADT+WCM Template Variables。