2

我有一个要求,我必须在 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
4

3 回答 3

4

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

尝试

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

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

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

于 2013-11-13T15:31:10.130 回答
2

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

如果($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    
于 2013-12-14T05:57:51.590 回答
1

检查以下链接 -

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

尝试在 portal-ext.properties 中添加此代码

journal.template.velocity.restricted.variables=
于 2013-11-18T07:49:09.687 回答