如何在主题模板中访问页面的自定义字段

时间:2012-03-22 18:04:01

标签: liferay velocity

我想使用自定义字段在主题中显示一些特定于页面的字符串。

我创建了一个Textbox类型的自定义字段“intro”。

如何访问主题模板中的数据(力度)?

由于没有声明变量的“内省”,我发现很难弄清楚如何访问它们。该文档远不能用于自定义字段: - /

3 个答案:

答案 0 :(得分:7)

如果您在页面中定义自定义属性而不是使用

$layout.getExpandoBridge().getAttribute("intro")


另见com.liferay.portlet.expando.model.ExpandoBridge

的javadoc或来源

答案 1 :(得分:1)

如果你需要在模板FTL中使用,在我的情况下用于菜单导航模板

< #assign prop = navItem.getLayout()。getExpandoBridge()。getAttribute(" prop_name")>

答案 2 :(得分:1)

在Liferay 7 +中为我工作:

创建自定义字段类型“site”,将数据填充到网站设置中,并使用到主题模板中将此数据调用到liferay主题:

如果是VM文件:

#set ($site_custom_field = $layout.getGroup().getExpandoBridge().getAttribute("site_custom_field_key"))
<h1>$site_custom_field</h1>

如果是FTL文件:

<#assign site_custom_field = layout.getGroup().getExpandoBridge().getAttribute("site_custom_field_key")>
<h1>${site_custom_field}</h1>

度过美好的一天!