Freemarker support for FileStorageItem

git-svn-id: https://svn.libreccm.org/ccm/trunk@5960 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2019-04-19 15:23:06 +00:00
parent fdfb0bc4ac
commit f787aaaee3
1 changed files with 42 additions and 0 deletions

View File

@ -0,0 +1,42 @@
<#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"}
>
<#function getDescription item>
<#if (item["./description"]?size > 0)>
<#return item["./description"]>
<#else if (item["./nav:attribute[@name = 'description']"])>
<#return item["./nav:attribute[@name = 'description']"]>
</#if>
</#function>
<#function getFileId item>
<#if (item["./file/id"]?size > 0)>
<#return item["./file/id"]>
<#else if (item["./nav:attribute[@name = 'file.id']"])>
<#return item["./nav:attribute[@name = 'file.id']"]>
</#if>
</#function>
<#function getFileName item>
<#if (item["./file/name"]?size > 0)>
<#return item["./file/name"]>
<#else if (item["./nav:attribute[@name = 'file.name']"])>
<#return item["./nav:attribute[@name = 'file.name']"]>
</#if>
</#function>
<#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)">
</#else>
<#return "${dispatcherPrefix}/cms-service/download/asset/?asset_id=${getFileId(item)">
</#if>
</#function>