Additional Freemarker functions
git-svn-id: https://svn.libreccm.org/ccm/trunk@5871 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
04ef5e2740
commit
cd20fe379d
|
|
@ -16,11 +16,25 @@
|
||||||
</#if>
|
</#if>
|
||||||
</#macro>
|
</#macro>
|
||||||
|
|
||||||
|
<#function getLead item>
|
||||||
|
<#if (item["./lead"]?size > 0)>
|
||||||
|
<#return item["./lead"]>
|
||||||
|
<#elseif (item["./nav:attribute[@name='lead']"]?size > 0)>
|
||||||
|
<#return item["./nav:attribute[@name='lead']"]>
|
||||||
|
</#if>
|
||||||
|
</#function>
|
||||||
|
|
||||||
<#--
|
<#--
|
||||||
Output the main text of the provided article.
|
Output the main text of the provided article.
|
||||||
-->
|
-->
|
||||||
<#macro main item>
|
<#macro mainText item>
|
||||||
<#if (item["./textAsset"]?size > 0)>
|
<#if (item["./textAsset"]?size > 0)>
|
||||||
${item["./textAsset/content"]}
|
${item["./textAsset/content"]}
|
||||||
</#if>
|
</#if>
|
||||||
</#macro>
|
</#macro>
|
||||||
|
|
||||||
|
<#function getMainText item>
|
||||||
|
<#if (item["./textAsset"]?size > 0)>
|
||||||
|
<#return item["./textAsset/content"]>
|
||||||
|
</#if>
|
||||||
|
</#function>
|
||||||
|
|
@ -50,3 +50,75 @@
|
||||||
${item["./nav:attribute[@name='title']"]}
|
${item["./nav:attribute[@name='title']"]}
|
||||||
</#if>
|
</#if>
|
||||||
</#macro>
|
</#macro>
|
||||||
|
|
||||||
|
<#function getItemTitle item>
|
||||||
|
<#if (item["./title"]?size > 0)>
|
||||||
|
<#return item["./title"]>
|
||||||
|
<#elseif (item["./nav:attribute[@name='title']"]?size > 0)>
|
||||||
|
<#return item["./nav:attribute[@name='title']"]>
|
||||||
|
<#else>
|
||||||
|
<#return ''>
|
||||||
|
</#if>
|
||||||
|
</#function>
|
||||||
|
|
||||||
|
<#function getPageTitle useCategoryMenu='categoryMenu' useRootIndexItemTitle=false>
|
||||||
|
|
||||||
|
<#if (model["/bebop:page//cms:contentPanel"]?size > 0)>
|
||||||
|
<#if (model["/bebop:page//cms:contentPanel/cms:item/type/label"].@@text == 'Glossary Item')>
|
||||||
|
<#return getLocalizedText('page.title.glossary')>
|
||||||
|
<#elseif (model["/bebop:page//cms:contentPanel/cms:item/type/label"].@@text == 'FAQ Item')>
|
||||||
|
<#return getLocalizedText('page.title.faq')>
|
||||||
|
<#else>
|
||||||
|
<#return model["/bebop:page//cms:contentPanel/cms:item/title[1]"].@@text>
|
||||||
|
</#if>
|
||||||
|
<#elseif (model["/bebop:page/bebop:title"].@@text == 'AtoZ')>
|
||||||
|
<#return getLocalizedText('layout.page.title.atoz')>
|
||||||
|
<#elseif (model["/bebop:page/bebop:title"].@@text == 'Search')>
|
||||||
|
<#return getLocalizedText('layout.page.title.search')>
|
||||||
|
<#elseif (model["/bebop:page/@application"] == 'login')>
|
||||||
|
<#return getLocalizedText('layout.page.title.login')>
|
||||||
|
<#elseif (model["/bebop:page/@id"] == 'sitemapPage')>
|
||||||
|
<#return getLocalizedText('layout.page.title.sitemap')>
|
||||||
|
<#elseif (model["/bebop:page/@application"] == 'PublicPersonalProfile' && model["/bebop:page/nav:greetingItem"]?size > 0)>
|
||||||
|
<#return model["/bebop:page/nav:greetingItem/cms:item/title"].@@text>
|
||||||
|
<#else>
|
||||||
|
<#if (model["/bebop:page/nav:categoryMenu[@id='${useCategoryMenu}']//nav:category[@isSelected='true']"]?size > 0)>
|
||||||
|
<#if useRootIndexItemTitle && model["/bebop:page/nav:categoryMenu[@id='${useCategoryMenu}']//nav:category[@isSelected='true']"]?size > 0>
|
||||||
|
<#if (model["/bebop:page//title"]?size > 0)>
|
||||||
|
<#return model["/bebop:page//title[1]"].@@text>
|
||||||
|
<#else>
|
||||||
|
<#return ''>
|
||||||
|
</#if>
|
||||||
|
<#else>
|
||||||
|
<#return model["(/bebop:page/nav:categoryMenu[@id='${useCategoryMenu}']//nav:category[@isSelected='true'])[last()]/@title"]>
|
||||||
|
</#if>
|
||||||
|
<#else>
|
||||||
|
<#return ''>
|
||||||
|
</#if>
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
</#function>
|
||||||
|
|
||||||
|
<#macro itemSummary>
|
||||||
|
<#if (item["./nav:attribute[./@name='lead']"]?size > 0)>
|
||||||
|
${item["./nav:attribute[./@name='lead']"]}
|
||||||
|
<#elseif (item["./nav:attribute[./@name='summary']"]?size > 0)>
|
||||||
|
${item["./nav:attribute[./@name='summary']"]}
|
||||||
|
<#elseif (item["./lead"]?size > 0)>
|
||||||
|
${item["./lead"]}
|
||||||
|
<#elseif (item["./summary"]?size > 0)>
|
||||||
|
${item["./summary"]}
|
||||||
|
</#if>
|
||||||
|
</#macro>
|
||||||
|
|
||||||
|
<#function getItemSummary item>
|
||||||
|
<#if (item["./nav:attribute[./@name='lead']"]?size > 0)>
|
||||||
|
<#return item["./nav:attribute[./@name='lead']"]>
|
||||||
|
<#elseif (item["./nav:attribute[./@name='summary']"]?size > 0)>
|
||||||
|
<#return item["./nav:attribute[./@name='summary']"]>
|
||||||
|
<#elseif (item["./lead"]?size > 0)>
|
||||||
|
<#return item["./lead"]>
|
||||||
|
<#elseif (item["./summary"]?size > 0)>
|
||||||
|
<#return item["./summary"]>
|
||||||
|
</#if>
|
||||||
|
</#function>
|
||||||
|
|
|
||||||
|
|
@ -126,3 +126,7 @@
|
||||||
<#nested model["/bebop:page/nav:greetingItem/cms:item"]>
|
<#nested model["/bebop:page/nav:greetingItem/cms:item"]>
|
||||||
|
|
||||||
</#macro>
|
</#macro>
|
||||||
|
|
||||||
|
<#function getGreetingItem>
|
||||||
|
<#return model["/bebop:page/nav:greetingItem/cms:item"]>
|
||||||
|
</#function>
|
||||||
|
|
@ -28,14 +28,34 @@
|
||||||
|
|
||||||
</#macro>
|
</#macro>
|
||||||
|
|
||||||
<#function itemLink item>
|
<#function getItems listId>
|
||||||
|
<#if (model["/bebop:page/nav:simpleObjectList[@id='${listId}']/nav:objectList"]?size > 0)>
|
||||||
|
<#-- <#assign items=model["/bebop:page/nav:simpleObjectList[@id='${listId}']/nav:objectList/nav:item"]> -->
|
||||||
|
<#-- <pre>Found simple object list ${listId}</pre>
|
||||||
|
<pre></pre> -->
|
||||||
|
<#return model["/bebop:page/nav:simpleObjectList[@id='${listId}']/nav:objectList/nav:item"]>
|
||||||
|
<#elseif (model["/bebop:page/nav:complexObjectList[@id='${listId}']/nav:objectList"]?size > 0)>
|
||||||
|
<#-- <pre>Found complex object list ${listId}</pre> -->
|
||||||
|
<#return model["/bebop:page/nav:complexObjectList[@id='${listId}']/nav:objectList/nav:item"]>
|
||||||
|
<#-- <#assign items=model["/bebop:page/nav:simpleObjectList[@id='${listId}']/nav:objectList/nav:item"]> -->
|
||||||
|
<#elseif (model["/bebop:page/nav:customizableObjectList[@id='${listId}']/nav:objectList"]?size > 0)>
|
||||||
|
<#-- <pre>Found customizable object list ${listId}</pre> -->
|
||||||
|
<#return model["/bebop:page/nav:simpleObjectList[@id='${listId}']/nav:objectList/nav:item"]>
|
||||||
|
<#-- <#assign items=model["/bebop:page/nav:simpleObjectList[@id='${listId}']/nav:objectList/nav:item"]> -->
|
||||||
|
<#else>
|
||||||
|
<#return []>
|
||||||
|
<#-- <pre>no item list with id ${listId}</pre> -->
|
||||||
|
</#if>
|
||||||
|
</#function>
|
||||||
|
|
||||||
|
<#function getItemLink item>
|
||||||
<#return item["./nav:path"]>
|
<#return item["./nav:path"]>
|
||||||
</#function>
|
</#function>
|
||||||
|
|
||||||
<#function funImageId item>
|
<#function getImageId item>
|
||||||
<#return item["./nav:attribute[@name='imageAttachments.image.id'][1]"]>
|
<#return item["./nav:attribute[@name='imageAttachments.image.id'][1]"]>
|
||||||
</#function>
|
</#function>
|
||||||
|
|
||||||
<#function funImageCaption item>
|
<#function getImageCaption item>
|
||||||
<#return item["./nav:attribute[@name='imageAttachments.image.caption'][1]"].@@text>
|
<#return item["./nav:attribute[@name='imageAttachments.image.caption'][1]"].@@text>
|
||||||
</#function>
|
</#function>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue