检测用户的第一个日志

时间:2015-02-16 16:54:47

标签: liferay liferay-6 liferay-theme liferay-velocity

我正在使用速度来实现liferay的主题。我想仅在用户第一次登录门户的情况下向主题主页添加一些功能。 我如何使用velocity(portal_normal.vm)来实现呢?

2 个答案:

答案 0 :(得分:1)

正如 @Olaf Kock 所述,建议不要在主题部分使用业务逻辑。

但是,如果你想要这样做,那么Liferay提供了一组可以在主题中访问的速度变量。其中也包含User详细信息。

这些是主题中全球可用的User相关变量

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

您可以在ROOT.WAR内的themes\_unstyled\templates\init.vm查看更多信息。

因此,出于特定目的,您可以使用$user_last_login_ip。如果该值为null,那么这将是用户第一次登录portal。所以,在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

答案 1 :(得分:0)

不要将其添加到主题中。而是为此单独custom LoginAction。这将在每次登录时执行(您可以选择登录前或登录后,我假设登录后是合适的),并且应该找到比我在网络上链接的更多信息。

主题是为了外观和感觉而制作的,不应该包含任何商业逻辑 - 特别是当它用于一次性目的时。