速度を使用してliferayでテーマを実現しています。ユーザーがポータルに初めてログインする場合にのみ、テーマのホームページにいくつかの機能を追加したいと思います。速度 (portal_normal.vm) を使用してそれを達成するにはどうすればよいですか?
2 に答える
@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.vm
ROOT.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
これをテーマに追加しないでください。代わりに、このために別のカスタム LoginActionを用意してください。これはログインごとに実行され(ログイン前またはログイン後を選択できます。ログイン後が適切であると想定しています)、このトピックについてネット全体でリンクしたよりも多くの情報が見つかるはずです。
テーマはルック アンド フィールのために作成され、ビジネス ロジックを含めることはできません。特に、1 回限りの目的の場合はそうではありません。