如何在liferay速度中检查登录用户?

时间:2013-11-13 15:00:52

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

我要求我必须在webcontent中显示登录URL,如果用户未登录并且还需要显示用户是否已登录我必须显示登出超链接。我搜索了某个地方有$ 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

3 个答案:

答案 0 :(得分:4)

$is_signed_in在主题中可用,而不在webcontent模板中。

尝试

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

这应该适用于webcontent模板。

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

答案 1 :(得分:2)

在您的主题_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    

答案 2 :(得分:1)

检查以下链接 -

  

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

尝试在portal-ext.properties

中添加此代码
journal.template.velocity.restricted.variables=