如何以生命射线速度检查登录的用户



我有一个要求,如果用户未登录,我必须在网络内容中显示登录网址,如果用户登录,还需要显示,我必须显示注销超链接。我已经在某处搜索了 $is_signed_in 用于检查用户是否登录。之后,我将以下代码添加到我的要求中。即使用户是否已登录,它也会显示"要了解更多信息,请登录"。为什么条件失败?以及如何在Liferay速度中检查用户是否登录?我观察到我没有获得$is_signed_in,$sign_in_url,$sign_out_url

的值
 #if(!$is_signed_in)   
      To know more please <a href="$sign_in_url">Sign In</a>
    #else
         click here to <a href="$sign_out_url">Sign Out</a>
   #end
$is_signed_in

主题中可用,而不是在Web内容模板中可用。

尝试

#set ($themeDisplay = $httpServletRequest.getAttribute("THEME_DISPLAY"))
$themeDisplay.isSignedIn()

这应该适用于网络内容模板。

(感谢@Gonzalo使用前提醒初始化$themeDisplay

在您的主题 _diff/templates/portal_normal.vm 中,您已经添加了此代码。

if ($is_signed_in)

            <!-- user dropdown starts -->
            <div class="btn-group pull-right" >
                <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
                    <i class="icon-user"></i><span class="hidden-phone"> $user_name </span>
                    <span class="caret"></span>
                </a>
                <ul class="dropdown-menu">
                        <li><a href="$sign_out_url">Logout</a></li>
                </ul>
            </div>
            <!-- user dropdown ends -->
        #end    

检查下面的链接 -

https://www.liferay.com/community/forums/-/message_boards/message/25175535

尝试在门户扩展属性中添加此代码

journal.template.velocity.restricted.variables=

最新更新