現在、Liferay は、init.vm
テーマ テンプレートで使用できる で定義されている一連のグローバル変数を提供しています。これらの変数はinit.vm
Liferay ROOT.war 内に設定され、配置されています$PATH_TO_WEBAPPS/ROOT/html/themes/_unstyled/templates
。
また、カスタム テーマ内ではportal_normal.vm
、追加するだけで使用できます#parse ($init)
。これはうまくいきます。
今私の問題に移ります。メールアドレスを送信するために速度テンプレートを使用しています。そのため、ポートレット内で、場所にメールテンプレートを作成しました$SOME_PORTLET_NAME/src/main/webapps/template/email.vm
。次を使用して、カスタム変数をテンプレートに送信できます。
VelocityContext velocityContext = new VelocityContext();
velocityContext.put("vp", velocityParameters);
しかし、テーマで使用されているように、Liferay によって提供されるデフォルトの変数を使用できませんでした。
$languageUtil.get
メールテンプレートで国際化に使用しようとしています。
私は何を試しましたか?
- テンプレート内でクローン
init.vm
を作成してインポートします。うまくいきませんでした。愚かな私。 ROOT.war
の場所へのフル パスを指定しますinit.vm
。どちらも機能しませんでした(機能するはずだったことに驚いています。)
質問 :
これらのベロシティ グローバル変数をカスタム ポートレット (テーマ外) で使用する方法はありますか?
Javaを使用してこれを達成できますか?
または、LanguageUtil.get を実行して値をテンプレートにのみ送信する方がよいでしょうか (これが最後のオプションになります)。
ありがとう!!