From 4e64dd8defa08ce3c3a42fd17c99c94e27134b0b Mon Sep 17 00:00:00 2001 From: jensp Date: Thu, 23 May 2019 18:13:12 +0000 Subject: [PATCH] Bugfixes for Freemarker functions git-svn-id: https://svn.libreccm.org/ccm/trunk@6078 8810af33-2d31-482b-a856-94f89814c4df --- .../freemarker/ccm-navigation/navigation.ftl | 8 +++++++ .../freemarker/ccm-navigation/object-list.ftl | 24 ++++++++++++------- .../freemarker/ccm-sci-types-department.ftl | 14 +++++------ 3 files changed, 31 insertions(+), 15 deletions(-) diff --git a/ccm-navigation/web/themes/freemarker/ccm-navigation/navigation.ftl b/ccm-navigation/web/themes/freemarker/ccm-navigation/navigation.ftl index 033dd66d4..4db6ab1dd 100644 --- a/ccm-navigation/web/themes/freemarker/ccm-navigation/navigation.ftl +++ b/ccm-navigation/web/themes/freemarker/ccm-navigation/navigation.ftl @@ -20,6 +20,10 @@ <#return model["/bebop:page/nav:categoryPath/nav:category[last()]"]> +<#function getSelectedCategoryId> + <#return model["/bebop:page/nav:categoryPath/nav:category[last()]/@id"]> + + <#-- Get the title of the provided category. --> @@ -82,6 +86,10 @@ <#return ofCategory["./nav:category"]> +<#function getSubCategoriesOfCategoryWithId categoryId> + <#return model["/bebop:page/nav:categoryMenu//nav:category[@id=${categoryId}]/nav:category"]> + + <#function getGreetingItem> <#return model["/bebop:page/nav:greetingItem/cms:item"]> \ No newline at end of file diff --git a/ccm-navigation/web/themes/freemarker/ccm-navigation/object-list.ftl b/ccm-navigation/web/themes/freemarker/ccm-navigation/object-list.ftl index 204ab9361..8c615398b 100644 --- a/ccm-navigation/web/themes/freemarker/ccm-navigation/object-list.ftl +++ b/ccm-navigation/web/themes/freemarker/ccm-navigation/object-list.ftl @@ -26,7 +26,7 @@ <#function getObjectCount listId> - <#return model["/bebop:page/*[@id='${listId}']/nav:objectList/nav:paginator/@objectCount"].@@text?number> + <#return model["/bebop:page/*[@id='${listId}']/nav:objectList/nav:paginator/@objectCount"]?number> <#function getPaginatorBaseUrl listId> @@ -39,11 +39,11 @@ <#function getPaginatorBegin listId> - <#return model["/bebop:page/*[@id='${listId}']/nav:objectList/nav:paginator/@objectBegin"].@@text?number> + <#return model["/bebop:page/*[@id='${listId}']/nav:objectList/nav:paginator/@objectBegin"]?number> <#function getPaginatorEnd listId> - <#return model["/bebop:page/*[@id='${listId}']/nav:objectList/nav:paginator/@objectEnd"].@@text?number> + <#return model["/bebop:page/*[@id='${listId}']/nav:objectList/nav:paginator/@objectEnd"]?number> <#function getPageCount listId> @@ -56,7 +56,7 @@ <#function getPageNumber listId> - <#return model["/bebop:page/*[@id='${listId}']/nav:objectList/nav:paginator/@pageNumber"].@@text?number> + <#return model["/bebop:page/*[@id='${listId}']/nav:objectList/nav:paginator/@pageNumber"]?number> <#function getPageParam listId> @@ -64,7 +64,7 @@ <#function getPageSize listId> - <#return model["/bebop:page/*[@id='${listId}']/nav:objectList/nav:paginator/@pageSize"].@@text?number> + <#return model["/bebop:page/*[@id='${listId}']/nav:objectList/nav:paginator/@pageSize"]?number> <#function getPrevPageLink listId> @@ -100,11 +100,15 @@ <#function hasImage item> - <#return (item["./nav:attribute[@name='imageAttachments.image.id']"]?size > 0)> + <#return (item["./nav:attribute[@name='imageAttachments.image.id']"]?size > 0 || item["./imageAttachments"]?size > 0)> <#function getImageId item> - <#return item["./nav:attribute[@name='imageAttachments.image.id'][1]"]> + <#if (item["./nav:attribute[@name='imageAttachments.image.id']"]?size > 0)> + <#return item["./nav:attribute[@name='imageAttachments.image.id'][1]"]> + <#elseif (item["./imageAttachments"]?size > 0)> + <#return item["./imageAttachments[1]/image/id"].@@text> + <#function getImageUrl item> @@ -112,7 +116,11 @@ <#function getImageCaption item> - <#return item["./nav:attribute[@name='imageAttachments.image.caption'][1]"].@@text> + <#if (item["./nav:attribute[@name='imageAttachments.image.id']"]?size > 0)> + <#return item["./nav:attribute[@name='imageAttachments.image.caption'][1]"].@@text> + <#elseif (item["./imageAttachments"]?size > 0)> + <#return item["./imageAttachments[1]/image/caption"].@@text> + <#function getFilters listId> diff --git a/ccm-sci-types-department/web/themes/freemarker/ccm-sci-types-department.ftl b/ccm-sci-types-department/web/themes/freemarker/ccm-sci-types-department.ftl index 78a51bb77..6e852ba86 100644 --- a/ccm-sci-types-department/web/themes/freemarker/ccm-sci-types-department.ftl +++ b/ccm-sci-types-department/web/themes/freemarker/ccm-sci-types-department.ftl @@ -5,7 +5,7 @@ "ui": "http://www.arsdigita.com/ui/1.0"} > -<#import ../ccm-cms/content-item.ftl as ContentItem> +<#import "/ccm-cms/content-item.ftl" as ContentItem> <#function getDescription data> <#if (data["./instituteDesc"]?size > 0)> @@ -16,12 +16,12 @@ <#function getShortDescription data> - <#if (data["./instituteShortDescription"])> - <#return data["./departmentShortDescription"])> - <#elseif (data["./shortDescription"])> - <#return data["./shortDescription"])> - <#elseif (data["./shortDesc"])> - <#return data["./shortDesc"])> + <#if (data["./instituteShortDescription"]?size > 0)> + <#return data["./departmentShortDescription"]> + <#elseif (data["./shortDescription"]?size > 0)> + <#return data["./shortDescription"]> + <#elseif (data["./shortDesc"]?size > 0)> + <#return data["./shortDesc"]>