如何使用vm访问模板中结构的选择框字段?
How to access selection box field of Structure in Template using vm?
我想创建一个 Liferay 网页内容,它将显示 select 多个状态的离子框。
我在 Structure 中创建了一个 select 字段来显示国家,并提供了多个选项,例如 - Punjab、Karnataka、Keral,....
现在我想在模板中访问这些 select 字段选项。
谁能告诉我如何访问 select 字段及其在模板中的选项?
提前致谢:)
您要读取的是所选值吗?
对于类型为 select
且名称为 selectionField
的字段,只需调用 getData()
即可读取所选值(作为字符串)。
$selectionField.getData()
听起来您正在尝试使用 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>
我想创建一个 Liferay 网页内容,它将显示 select 多个状态的离子框。
我在 Structure 中创建了一个 select 字段来显示国家,并提供了多个选项,例如 - Punjab、Karnataka、Keral,....
现在我想在模板中访问这些 select 字段选项。
谁能告诉我如何访问 select 字段及其在模板中的选项?
提前致谢:)
您要读取的是所选值吗?
对于类型为 select
且名称为 selectionField
的字段,只需调用 getData()
即可读取所选值(作为字符串)。
$selectionField.getData()
听起来您正在尝试使用 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>