2012-01-11 2 views
2

우리는 Liferay 사이트에 기능을 추가하려고합니다. 로그인 한 사용자는 간단한 클릭 한 번으로 현재 페이지 from the varnish cache을 제거 할 수 있습니다.포틀릿 및 테마 컨텍스트 외부의 Liferay에서 사용자가 isSignedIn인지 확인하는 방법은 무엇입니까?

그래서 우리는 purge_me.jsp? URL = 페이지에 퍼지

에 URL을 전달하는

#if ($themeDisplay.isSignedIn()) 

보호의 admin_navigation.vm "캐시 지우기 '에있는 버튼을 추가 추가 우리는 서명 된 사용자 만이 JSP 내부에서 제거 기능을 사용하도록하고 싶습니다. 포털 초기화를 포함하여 다음을 확인해보십시오.

<%@ include file="/html/portal/init.jsp" %> 

<c:if test="<%= themeDisplay.isSignedIn() %>"> 

그러나 이것은 작동하지 않습니다. 간단한 JSP 전용 방식으로이 작업을 수행하는 방법은 무엇입니까? 예를 들어 자신의 클래스에 대한 필요성없이.

답변

0

$ themeDisplay.isSignedIn() 대신 $ is_signed_in 속도 변수를 사용합니다. 당신은 당신이 다음과 같은 코드로했을 admin_navigation.vm

#if($is_signed_in) 

then show button for "clear cache" 
#else 

...stuff.... 

#end 
+0

저는 그가 테마 솔루션보다는 JSP 솔루션을 사용하고 있다고 생각합니다. – Jonny

2

에서 다음을 수행 할 수

<%@ taglib uri="http://liferay.com/tld/theme" prefix="liferay-theme" %> 
<liferay-theme:defineObjects /> 

이것은 다음 변수 themeAdmin로 ThemeAdmin 개체에 액세스 할 수 있습니다.

+0

내 생각에 이것은 /html/common/init.jsp를 포함하는 /html/portal/init.jsp의 include에 의해 곧 이루어질 것이라고 생각합니다. – kidata

+0

아 물론! 어떤 버전의 Liferay를 사용하고 있습니까? EXT에서 개발하고 있습니까? – Jonny

+0

It 's Liferay 5.2.3 CE가 EXT없이 Tomcat 번들 만 (6.0.18) – kidata

관련 문제