如何使用vm访问模板中Structure的选择框字段?

时间:2015-12-13 19:22:07

标签: templates liferay structure liferay-velocity web-content

我想创建一个Liferay网页内容,它会显示多个州的选择框。

我在Structure中创建了一个用于显示状态的选择字段,并提供了多种选项,例如旁遮普,卡纳塔克邦,凯拉尔...... ....

现在我想在Template中访问这些选择字段选项。

任何人都可以告诉我如何访问选择字段&它在模板中的选项?

提前致谢:)

2 个答案:

答案 0 :(得分:0)

您正在阅读所选的值吗?

对于名称为select的{​​{1}}类型字段,只需调用selectionField即可读取所选值(作为字符串)。

getData()

答案 1 :(得分:0)

听起来您正在尝试使用Web内容构建portlet函数,这不是它的用途。

尽管如此:您可以使用

访问该结构
#set($structureService = $serviceLocator.findService("com.liferay.portlet.dynamicdatamapping.service.DDMStructureLocalService"))
#set($structure = $structureService.fetchDDMStructureByUuidAndGroupId("THE-UUID-OF-YOUR-STRUCTURE", $articleGroupId))

该结构将包含您的字段的选项(请参阅DDMStructure)。

但是,如果您真的采用Web内容方法 - 我会将配置从结构移动到Web内容文章:

在结构中创建可重复的文本字段,并在文章本身中添加状态(表单构建器方法)。然后,您可以为每篇文章配置一组不同的选项。您可以使用模板中的选项:

<select name="...">
  #foreach ($state in $yourStateFieldName.siblings) 
    <option value="$state">$state</option>
  #end
</select>