0

テンプレート速度にWebコンテンツを埋め込むことは可能ですか?2つのWebコンテンツがあり、2つを1つに統合したいと思います。

私はこれを試しました:

#set ($webcontent-id = "13054")
#set ($webcontent=$journalContentUtil.getContent($group_id, $webcontent-id,null,"$locale",$theme_display))
<div> $webcontent </div>
#set ($webcontent-id = "13065")
#set ($webcontent=$journalContentUtil.getContent($group_id, $webcontent-id,null,"$locale",$theme_display)) 
<div> $webcontent </div>

ただし、変数は表示されます。Webコンテンツでサービスにアクセスしなかったと思います。

4

1 に答える 1

1

Webコンテンツテンプレートは、ThemeDisplayに直接アクセスすることはできません。$ requestマップを介してリクエスト情報にアクセスできます。このマップには、特にThemeDisplayの変数が含まれています。このwikiページには、テンプレートから使用できる変数がリストされています。

また、ベロシティテンプレートからLiferayサービスを呼び出すときは、すべての引数が正しいタイプであることを確認する必要があります。$ getterUtilを使用してこれを実現できます。たとえば、文字列をLongに変換できます。

これがあなたの例の改訂版です:

#set ($group_id = $getterUtil.getLong($request.theme-display.scope-group-id))
#set ($webcontent-id = "58007")
#set ($webcontent=$journalContentUtil.getContent($group_id, $webcontent-id, "", "$locale", ""))
$webcontent
于 2013-03-13T16:57:16.413 に答える