我正在使用速度来实现liferay的主题。我想仅在用户第一次登录门户的情况下向主题主页添加一些功能。 我如何使用velocity(portal_normal.vm)来实现呢?
答案 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。这将在每次登录时执行(您可以选择登录前或登录后,我假设登录后是合适的),并且应该找到比我在网络上链接的更多信息。
主题是为了外观和感觉而制作的,不应该包含任何商业逻辑 - 特别是当它用于一次性目的时。