我使用了以下代码,但它无效。
< #assign navItem = objectUtil(" com.liferay.portal.kernel.theme.NavItem")/>
它给出了以下错误。
引起:freemarker.core._TemplateModelException:Java构造函数" com.liferay.portal.kernel.theme.NavItem.com.liferay.portal.kernel.theme.NavItem(javax.servlet.http.HttpServletRequest, com.liferay.portal.kernel.model.Layout,Map)"需要3个参数,但是给出了0 .__ ---- _ FTL堆栈跟踪("〜"表示与嵌套相关)
我还使用了以下代码,它也无法正常工作。 < #assign navItemClass = portal.getClass()。forName(" com.liferay.portal.kernel.theme.NavItem")>
基本上我想在主题中检索NavItem对象并想要使用它。
答案 0 :(得分:1)
脚本编制上下文获取documentation注入的大部分变量。在那里,您可以找到您在问题评论中描述的基本问题的几个相关值:
layout
代表当前页面(布局是技术名称)layouts
是所有网页的集合themeDisplay
navItems
是所有navItem的集合,但您必须自己找到与当前页面相关的那个。通过layout
浏览TemplateContextHelper
源代码可能会为您提供所需的提示。