2016-10-05 2 views
0
i m using liferay6.2 ga2 i want to hide mysites from dockbar for all users except admin user .i know its possible through hook and referred the below link 

http://findnerd.com/list/view/Hiding-My-Sites-Menu-in-Docbar-in-Liferay/1940/скрыть опцию сайты от dockbar Liferay

но внутри dockbar портлета в view_my_sites.jspf какой части кода должен быть изменен.

Может ли кто-нибудь предложить решение, как файл view_my_sites.jspf должен быть изменен или какая-либо информативная ссылка о том, как скрывать параметры моих сайтов из док-бара.

заранее спасибо

ответ

0

Helo Heena,

Вы должны реализовать в вашей теме логику, чтобы ограничить это.

Я помню, что эта логика должна быть включена в портал-normal.vm для доступа к объекту ThemeDisplay.

Это должно быть что-то вроде этого:

set ($expando= $themeDisplay.getScopeGroup().getExpandoBridge()) 
set ($group = $expando.getAttribute("isAdmin")) 
if ($isAdmin!= true) 
    set ("Logic to enable or disable options") 
end 

Я надеюсь, что это может быть полезно для вас.

+0

tnx jorge. Проблема исправлена. –

+0

Это решение требует настройки пользовательского атрибута isAdmin. Это не будет работать на OOTB Liferay. –

0

Привет, если вы посмотрите на init.vm или init.ftl и найдите мои сайты, вы увидите пару переменных. Я ожидал бы, что установка show_my_sites на false приведет к тому, что параметр моего сайта исчезнет (необходимо проверить).

Чтобы обнаружить, если текущий пользователь является администратором, я бы пользовался permissionChecker.isOmniadmin(). Переменная разрешающая способность доступна в контексте. Другой вариант - получить роли пользователей и проверить, имеет ли пользователь определенную роль.

Смежные вопросы