2016-10-27 9 views
3

웹 콘텐츠 템플릿 (Liferay 포털 6.2)에서 "theme_display"를 얻으려고합니다. 그러나 그것은 효과가 없습니다.Liferay Portal 6.2 - 웹 콘텐츠 템플릿에서 theme_display를 얻는 방법

#set($serviceContext = $portal.getClass().forName("com.liferay.portal.service.ServiceContextThreadLocal").getServiceContext()) 
    #set($httpServletRequest = $serviceContext.getRequest()) 
    #set($objThemeDisplay = $httpServletRequest.getAttribute("THEME_DISPLAY")) 

$ themeDisplay

$ theme_display

$ request.themeDisplay

+0

[이 페이지] (https://web.liferay.com/community/wiki/-wiki/Main/Access+Objects+from+Velocity#section-Access+Objects+from+Velocity-CMS+Templates) 도움이 될 수 있습니다. – brandizzi

+0

어떤 오류가 발생합니까? 이러한 변수는 속도 템플릿에서 사용할 수있는 웹 콘텐츠 템플릿에는 표시되지 않습니다. –

답변

0

themeDisplay 객체가 화장실 템플릿에서 사용할 수 없습니다

$의 request.get ("테마 디스플레이") . 너는 그것을 위해 무엇을 필요로 하는가? 아마도 당신은 서비스 로케이터에서 동일한 정보를 얻을 수 있습니다 ....

감사합니다. 사용

예 :

2

당신은 ServiceContextThreadLocal 그렇게 등을 이용하여 웹 콘텐츠 템플릿에서 themeDisplay 개체를 얻을 수있는 Liferay DXP, 프리 마커, 웹 콘텐츠 템플릿 :

<#assign 
serviceContextThreadLocal = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"] 
themeDisplay = serviceContextThreadLocal.getServiceContext().getThemeDisplay() 
/> 

당신은 설정했는지 확인해야합니다 템플릿에 대한 제한된 변수를 해제합니다.

+0

템플릿의 제한된 변수를 어떻게 끄습니까? – protoEvangelion

+1

Liferay DXP에서'restrictedVariables ='내용으로'./osgi/config/com.liferay.portal.template.freemarker.configuration.FreeMarkerEngineConfiguration.cfg'에 파일을 생성하십시오 – Jaxon