0

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

4

2 回答 2

1

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

但是,如果您仍然想这样做,那么 Liferay 提供了一组可以在主题中访问的速度变量。其中也包括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. 如果该值为空,那么这将是用户第一次登录门户。因此,请在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。这将在每次登录时执行(您可以选择登录前或登录后,我假设登录后是合适的)并且应该找到比我在整个网络上链接的更多信息。

主题是为外观而设计的,不应包含任何业务逻辑——尤其是当它用于一次性目的时。

于 2015-02-16T17:56:20.220 回答