2016-10-27 4 views
3

Webコンテンツテンプレート(Liferay Portal 6.2)で「theme_display」を取得しようとしています。しかし、それは動作しません。Liferay Portal 6.2 - Webコンテンツテンプレートで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

どのようなエラーが表示されますか?これらの変数は、ベロシティテンプレートで利用できるように、Webコンテンツテンプレートには何も表示されませんか? –

答えて

0

themeDisplayオブジェクトがWCテンプレートでは使用できません

の$ request.get( "テーマ-表示") 。何のためにそれが必要ですか?おそらくあなたはサービスロケータから同じ情報を得ることができます....

よろしく。使用

例:

2

あなたはServiceContextThreadLocalのでなどを使用してWebコンテンツ・テンプレートでthemeDisplayオブジェクトを取得することができLiferayのDXP、FreeMarkerの、Webコンテンツのテンプレートを:

<#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

関連する問題