Как проверить зарегистрированного пользователя в скорости LifeRay?
У меня есть требование, что я должен отображать URL-адрес входа в веб-контенте, если пользователь не вошел в систему, а также должен отображать, если пользователь вошел в систему, я должен отобразить гиперссылку выхода. Я искал где-то получил $is_signed_in для проверки входа пользователя в систему или нет. После этого я добавил приведенный ниже код к моему требованию. Даже если пользователь вошел в систему или нет, он отображает "Чтобы узнать больше, пожалуйста, войдите в систему". Почему условие не удалось? а как проверить пользователь залогинился или нет в лайврей скорости? Я заметил, что я не получаю значения $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 ответа
$is_signed_in
доступно в темах, а не в шаблонах веб-контента.
Пытаться
#set ($themeDisplay = $httpServletRequest.getAttribute("THEME_DISPLAY"))
$themeDisplay.isSignedIn()
это должно работать в шаблонах веб-контента.
(Спасибо @Gonzalo за напоминание об инициализации $themeDisplay
Перед использованием)
В вашей теме _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
Проверьте ссылку ниже -
https://www.liferay.com/community/forums/-/message_boards/message/25175535
Попробуйте добавить этот код в portal-ext.properties
journal.template.velocity.restricted.variables=