Magnolia 5.7 reached extended end of life on May 31, 2022. Support for this branch is limited, see End-of-life policy. Please note that to cover the extra maintenance effort, this EEoL period is a paid extension in the life of the branch. Customers who opt for the extended maintenance will need a new license key to run future versions of Magnolia 5.7. If you have any questions or to subscribe to the extended maintenance, please get in touch with your local contact at Magnolia.


tagfn provides methods to find both content that is tagged and tags applied to content items.These templating functions are provided by the Content Tags module. The java class implementing the methods is TagTemplatingFunctions

Getting content by tag and adding tags to the tags trait

The method searches content by workspace, root path and a list (array) of tags. Returned content nodes must have at least one of the tags of the given tag array.

Method signature

Set<ContentMap> getContentByTags(String workspace, String rootPath, String... tagsArray)

Arguments

workspace

required

The workspace to search in.

rootPath

required

The root path of the node to search in.

tagsArray

required

Any array of tags.

Returns

Set of  ContentMap objects.

Usage

/using-content-tags/templates/components/getContentByTags.ftl
    [#assign geniusContacts=tagfn.getContentByTags("contacts", "/", ["genius", "artist"])! /]
    [#if geniusContacts?has_content]
        [#list geniusContacts as contact]
        ${contact.firstName!""} ${contact.lastName!""}[#sep], [/#sep]
        [/#list]
    [/#if]

Getting tags by content

Returns the tags of a given content node.

Method signature

Set<String> getTags(ContentMap content)

Arguments

content

required

The content map whose tags you want to find.

Returns

Set of Strings.

Usage

    [#assign contentItem = cmsfn.contentByPath("/ppicasso", "contacts")! /]
    [#assign tags = tagfn.getTags(contentItem)! /]
    [#if tags?has_content]
        ${contentItem.firstName!""} ${contentItem.lastName!""} has the following tags:
        [#list tags as tag ]
            ${tag}[#sep], [/#sep]
        [/#list]
    [/#if]