如何获取 WCM (Liferay) 中的页面列表?
How to get list of pages in WCM (Liferay)?
我尝试使用包含 导航(页面列表)的模板创建 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中的页面列表呢?
页面列表仅在 ADTs (Application Display Templates), not in WCM templates 中可用。
如果您确实需要该列表并且可以使用 ADT,请改用 navItems
变量。变量 nav_items
仅适用于主题(我猜是为了向后兼容)。
文档 - 很难找到。使用原力,在 GitHub.
上阅读源代码
您可能希望使用方便的 Freemarker 脚本来显示所有可用变量 - 请参阅 James Falkner 博客上的 Dumping ADT+WCM Template Variables。
我尝试使用包含 导航(页面列表)的模板创建 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中的页面列表呢?
页面列表仅在 ADTs (Application Display Templates), not in WCM templates 中可用。
如果您确实需要该列表并且可以使用 ADT,请改用 navItems
变量。变量 nav_items
仅适用于主题(我猜是为了向后兼容)。
文档 - 很难找到。使用原力,在 GitHub.
上阅读源代码您可能希望使用方便的 Freemarker 脚本来显示所有可用变量 - 请参阅 James Falkner 博客上的 Dumping ADT+WCM Template Variables。