複数の状態の選択ボックスを表示する Liferay Web コンテンツを作成したいと考えています。
構造に州を表示するための選択フィールドを 1 つ作成し、パンジャブ、カルナタカ、ケラルなどの複数のオプションを指定しました。
ここで、テンプレートでこれらの選択フィールド オプションにアクセスしたいと考えています。
テンプレートの選択フィールドとそのオプションにアクセスする方法を教えてください。
前もって感謝します :)
複数の状態の選択ボックスを表示する Liferay Web コンテンツを作成したいと考えています。
構造に州を表示するための選択フィールドを 1 つ作成し、パンジャブ、カルナタカ、ケラルなどの複数のオプションを指定しました。
ここで、テンプレートでこれらの選択フィールド オプションにアクセスしたいと考えています。
テンプレートの選択フィールドとそのオプションにアクセスする方法を教えてください。
前もって感謝します :)
Web コンテンツを使用してポートレット機能を構築しようとしているようですが、これは本来の目的ではありません。
それにもかかわらず:あなたはで構造にアクセスできます
#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>
選択した値を読み取っていますか?
select
nameのタイプのフィールドの場合selectionField
、呼び出しgetData()
て選択した値を (文字列として) 読み取るだけです。
$selectionField.getData()