diff --git a/ccm-cms-types-article/web/themes/freemarker/ccm-cms-types-article.ftl b/ccm-cms-types-article/web/themes/freemarker/ccm-cms-types-article.ftl index f011c8b09..538b3ecdd 100644 --- a/ccm-cms-types-article/web/themes/freemarker/ccm-cms-types-article.ftl +++ b/ccm-cms-types-article/web/themes/freemarker/ccm-cms-types-article.ftl @@ -16,6 +16,13 @@ +<#-- + Checks if the provided item has a lead property. +--> +<#function hasLead item> + <#return (item["./lead"]?size > 0 || item["./nav:attribute[@name='lead']"]?size > 0)> + + <#-- Gets the main text the the provided article. --> diff --git a/ccm-cms-types-filestorageitem/web/themes/freemarker/ccm-cms-types-filestorageitem.ftl b/ccm-cms-types-filestorageitem/web/themes/freemarker/ccm-cms-types-filestorageitem.ftl index a49246f2b..0ee9869fa 100644 --- a/ccm-cms-types-filestorageitem/web/themes/freemarker/ccm-cms-types-filestorageitem.ftl +++ b/ccm-cms-types-filestorageitem/web/themes/freemarker/ccm-cms-types-filestorageitem.ftl @@ -5,10 +5,14 @@ "ui": "http://www.arsdigita.com/ui/1.0"} > +<#function hasDescription item> + <#return (item["./description"]?size > 0 || item["./nav:attribute[@name = 'description']"]?size > 0)> + + <#function getDescription item> <#if (item["./description"]?size > 0)> <#return item["./description"]> - <#else if (item["./nav:attribute[@name = 'description']"])> + <#elseif (item["./nav:attribute[@name = 'description']"]?size > 0)> <#return item["./nav:attribute[@name = 'description']"]> @@ -16,27 +20,31 @@ <#function getFileId item> <#if (item["./file/id"]?size > 0)> <#return item["./file/id"]> - <#else if (item["./nav:attribute[@name = 'file.id']"])> + <#elseif (item["./nav:attribute[@name = 'file.id']"]?size > 0)> <#return item["./nav:attribute[@name = 'file.id']"]> +<#function hasFileName item> + <#return (item["./file/name"]?size > 0 || item["./nav:attribute[@name = 'file.name']"]?size > 0)> + + <#function getFileName item> <#if (item["./file/name"]?size > 0)> <#return item["./file/name"]> - <#else if (item["./nav:attribute[@name = 'file.name']"])> + <#elseif (item["./nav:attribute[@name = 'file.name']"]?size > 0)> <#return item["./nav:attribute[@name = 'file.name']"]> <#function getFileLink item mode="download" useFileName=true> - <#if mode == "stream" && useFileName> - <#return "${dispatcherPrefix}/cms-service/stream/asset/${getFileName(item)}?asset_id=${getFileId(item)"> - <#else if mode="stream" && !useFileName> - <#return "${dispatcherPrefix}/cms-service/stream/asset/?asset_id=${getFileId(item)"> - <#else if mode="download" && useFileName> - <#return "${dispatcherPrefix}/cms-service/download/asset/${getFileName(item)}?asset_id=${getFileId(item)"> - - <#return "${dispatcherPrefix}/cms-service/download/asset/?asset_id=${getFileId(item)"> + <#if (mode == "stream" && useFileName && hasFileName(item))> + <#return "${dispatcherPrefix}/cms-service/stream/asset/${getFileName(item)}?asset_id=${getFileId(item)}"> + <#elseif (mode="stream" && (!useFileName || !hasFileName(item)))> + <#return "${dispatcherPrefix}/cms-service/stream/asset/?asset_id=${getFileId(item)}"> + <#elseif (mode="download" && useFileName && hasFileName(item))> + <#return "${dispatcherPrefix}/cms-service/download/asset/${getFileName(item)}?asset_id=${getFileId(item)}"> + <#else> + <#return "${dispatcherPrefix}/cms-service/download/asset/?asset_id=${getFileId(item)}"> \ No newline at end of file