次のコードを検討してください
function populateLayout(scopeGroupId){
Liferay.Service.Portal.Layout.getLayouts(
{
groupId: scopeGroupId,
privateLayout: false
},
function(layouts){
for(var i=0;i<layouts.length;i++){
var layout = layouts[i];
alert(layout.name);
}
}
);
}
上記の Liferay の JSON サービス API からわかるように、すべてのレイアウトを取得します。特に、選択ボックスに入力するレイアウト名が必要です。さまざまなロケールをサポートするために、名前が xml 文字列として保存されていることを知っています。このxml文字列と言語IDを使用してレイアウトの名前だけを取得するJavaScript APIがあるかどうか疑問に思っていました。以下と同じことを行うためのJava APIがあります。もしあれば、同等のJavaScript APIが必要です。
layout.getName(locale)
また
LocalizationUtil.getLocalization(String xml, String languageId)