Freemarker Macro for creating a language selector
git-svn-id: https://svn.libreccm.org/ccm/trunk@5828 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
6f633e4715
commit
1cc7a9a80d
|
|
@ -187,7 +187,7 @@ public class FreeMarkerPresentationManager implements PresentationManager {
|
|||
final Map<String, Object> data = new HashMap<>();
|
||||
|
||||
// The XML document
|
||||
data.put("ccm", NodeModel.wrap(root));
|
||||
data.put("model", NodeModel.wrap(root));
|
||||
|
||||
// Parameters (in XSL provided as XSL parameters)
|
||||
data.put("contextPath", request.getContextPath());
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
<#ftl ns_prefixes={
|
||||
"bebop":"http://www.arsdigita.com/bebop/1.0",
|
||||
"cms":"http://www.arsdigita.com/cms/1.0",
|
||||
"nav":"http://ccm.redhat.com/navigation",
|
||||
"ui": "http://www.arsdigita.com/ui/1.0"}
|
||||
>
|
||||
|
||||
<#macro availableLanguages>
|
||||
|
||||
<#assign langs=["empty"]>
|
||||
<#if (model["/bebop:page/cms:contentPanel"]?size > 0)>
|
||||
<#assign langs=model["/bebop:page/cms:contentPanel/availableLanguages/language/@locale"]>
|
||||
<#elseif (model["/bebop:page/nav:greetingItem"]?size > 0)>
|
||||
<#assign langs=model["/bebop:page/nav:greetingItem/availableLanguages/language/@locale"]>
|
||||
<#else>
|
||||
<#assign langs=model["/bebop:page/ui:siteBanner/supportedLanguages/language/@locale"]>
|
||||
</#if>
|
||||
|
||||
<#list langs?sort as lang>
|
||||
<#nested lang, lang==negotiatedLanguage>
|
||||
</#list>
|
||||
|
||||
</#macro>
|
||||
|
|
@ -5,9 +5,7 @@
|
|||
"ui": "http://www.arsdigita.com/ui/1.0"}
|
||||
>
|
||||
|
||||
|
||||
|
||||
<#macro pageTitle>
|
||||
${ccm["//nav:categoryMenu/nav:category/@title"]}
|
||||
${model["//nav:categoryMenu/nav:category/@title"]}
|
||||
</#macro>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue