Freemarker Macro for creating a language selector

git-svn-id: https://svn.libreccm.org/ccm/trunk@5828 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2019-02-14 19:02:36 +00:00
parent 6f633e4715
commit 1cc7a9a80d
3 changed files with 25 additions and 4 deletions

View File

@ -187,7 +187,7 @@ public class FreeMarkerPresentationManager implements PresentationManager {
final Map<String, Object> data = new HashMap<>(); final Map<String, Object> data = new HashMap<>();
// The XML document // The XML document
data.put("ccm", NodeModel.wrap(root)); data.put("model", NodeModel.wrap(root));
// Parameters (in XSL provided as XSL parameters) // Parameters (in XSL provided as XSL parameters)
data.put("contextPath", request.getContextPath()); data.put("contextPath", request.getContextPath());

View File

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

View File

@ -5,9 +5,7 @@
"ui": "http://www.arsdigita.com/ui/1.0"} "ui": "http://www.arsdigita.com/ui/1.0"}
> >
<#macro pageTitle> <#macro pageTitle>
${ccm["//nav:categoryMenu/nav:category/@title"]} ${model["//nav:categoryMenu/nav:category/@title"]}
</#macro> </#macro>