Freemarker functions for related links

git-svn-id: https://svn.libreccm.org/ccm/trunk@5936 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2019-04-09 19:50:16 +00:00
parent 2bc410e773
commit d1d4417129
2 changed files with 53 additions and 2 deletions

View File

@ -9,11 +9,11 @@
<ccm:requires name="ccm-core" version="6.6.0" relation="ge"/> <ccm:requires name="ccm-core" version="6.6.0" relation="ge"/>
<ccm:requires name="ccm-cms" version="6.6.0" relation="ge"/> <ccm:requires name="ccm-cms" version="6.6.0" relation="ge"/>
</ccm:dependencies> </ccm:dependencies>
<ccm:directories> <!--<ccm:directories>
<ccm:directory name="pdl"/> <ccm:directory name="pdl"/>
<ccm:directory name="sql"/> <ccm:directory name="sql"/>
<ccm:directory name="src"/> <ccm:directory name="src"/>
</ccm:directories> </ccm:directories>-->
<ccm:contacts> <ccm:contacts>
<ccm:contact uri="http://www.redhat.com/software/ccm" type="website"/> <ccm:contact uri="http://www.redhat.com/software/ccm" type="website"/>
<ccm:contact uri="mailto:ccm@redhat.com" type="support"/> <ccm:contact uri="mailto:ccm@redhat.com" type="support"/>

View File

@ -0,0 +1,51 @@
<#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 getRelatedLinks item linkListName="NONE">
<#return item["./links[./linkListName='${linkListName}']"]>
</#function>
<#function getLinkType link>
<#if link["./targetType]@@text == "externalLink" and link["./targetURI"] == "caption">
<#return "caption">
<#elseif link["./targetType]@@text == 'internalLink">
<#return "internalLink">
<#else>
<#return "externalLink">
</#if>
</#function>
<#function getLinkTitle link>
<#return link["./linkTitle"]@@text>
<#function>
<#function getLinkDescription link>
<#return link["./linkDescription"]>
</#function>
<#function getLinkOrder link>
<#return link["./linkOrder"]@@text>
</#function>
<#function getInternalLinkParameters link>
<#if getTargetUri(link)@starts_with("&?")>
<#return "&${getTargetUri(link)[3]}">
<#else>
<#return "">
</#if>
</#function>
<#function getTargetUri link>
<#assign params>
</#assign>
<#if getLinkType(link) == 'internalLink'>
<#return "${contextPrefix}/redirect/?oid=${link["./targetItem/@oid"]}${getInternalLinkParameters(link)}">
<#else>
<#return link["./targetURI"]@@text>
<#/if>
</#function>