0

速度を使用してliferayでテーマを実現しています。ユーザーがポータルに初めてログインする場合にのみ、テーマのホームページにいくつかの機能を追加したいと思います。速度 (portal_normal.vm) を使用してそれを達成するにはどうすればよいですか?

4

2 に答える 2

1

@Olaf Kockが述べているように、テーマ セクションでビジネス ロジックを使用することはお勧めしません。

それでもやりたい場合は、Liferay はテーマでアクセスできる Velocity Variables のセットを提供します。これにはUser詳細も含まれます。

これらはUser、テーマでグローバルに利用できる関連変数の一部です。

$user_id,$is_default_user,$user_first_name,$user_middle_name .... $user_login_ip, $user_last_login_ip

themes\_unstyled\templates\init.vmROOT.WAR 内で詳細を確認できます。

したがって、ここでの特定の目的のために、 を使用できます$user_last_login_ip。値が null の場合、ユーザーが初めてポータルにログインしたことになりますportal_normal.vm

#if (!$user_last_login_ip)
 ... do stuff here if the variable is null
#end

また、次を使用してユーザーの最終ログイン日を取得し、nullそれが最初のログインであるかどうかを確認することもできます。

#if (!$user.getLastLoginDate())
 ... do stuff here if the variable is null
#end
于 2015-02-16T18:19:22.513 に答える
0

これをテーマに追加しないでください。代わりに、このために別のカスタム LoginActionを用意してください。これはログインごとに実行され(ログイン前またはログイン後を選択できます。ログイン後が適切であると想定しています)、このトピックについてネット全体でリンクしたよりも多くの情報が見つかるはずです。

テーマはルック アンド フィールのために作成され、ビジネス ロジックを含めることはできません。特に、1 回限りの目的の場合はそうではありません。

于 2015-02-16T17:56:20.220 に答える