我正在使用速度实现 liferay 的主题。我只想在用户第一次登录门户的情况下为主题主页添加一些功能。我如何使用速度(portal_normal.vm)来实现这一点?
问问题
677 次
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 回答