Forum Discussion

Hoekstra_VFZ's avatar
4 years ago

Built a service/status tracker status based on tags

Hello, I am creating a component that only shows based on the tags given to the message. The tags are hidden for non admins by the way. Using Freemarker I have no luck yet in getting/reading the t...
  • Hoekstra_VFZ's avatar
    4 years ago

    Allright: Full component here:

    <#import "theme-lib.common-functions.ftl" as commonUtils />
    <#assign threadId = page.context.thread.topicMessage.uniqueId />
    <#assign query = "SELECT text FROM tags WHERE messages.id = '${threadId}'" />
    <#assign tagData = commonUtils.executeLiQLQuery(query) />
    
    <#if tagData?size gt 0>
    <#assign issueTag = false />
    <#assign onderzoekTag = false />
    <#assign oorzaakbekendTag = false />
    <#assign opgelostTag = false />
    <#assign softwareupdateTag = false />
    <#assign websiteTag = false />
    
    <#list tagData as list>
        <#-- <h1>${list.text}</h1> -->
        <#if list.text == 'issue' || list.text == 'Issue'>
            <#assign issueTag = true />
        </#if>
        <#if list.text == 'onderzoek' || list.text == 'Onderzoek'>
            <#assign onderzoekTag = true />
        </#if>
        <#if list.text == 'oorzaak bekend' || list.text == 'Oorzaak Bekend'>
            <#assign oorzaakbekendTag = true />
        </#if>
        <#if list.text == 'opgelost' || list.text == 'Opgelost'>
            <#assign opgelostTag = true />
        </#if>
        <#if list.text == 'software update' || list.text == 'Software Update'>
            <#assign softwareupdateTag = true />
        </#if>
        <#if list.text == 'website' || list.text == 'Website'>
            <#assign websiteTag = true />
        </#if>
    </#list>
    
    <#if issueTag == true >
        <#assign statusTitle = 'In onderzoek' />
        <#assign statusBody = 'Moderators verzamelen jullie voorbeelden een gaan dit bundelen naar de technische dienst.' />
        <#assign statusButton = ['Geef jouw voorbeeld hier door','https://community.ziggo.nl'] />
    </#if>
    <#if issueTag == true && onderzoekTag == true >
        <#assign statusTitle = 'In onderzoek' />
        <#assign statusBody = 'De technische dienst is op de hoogte gesteld. Zij zoeken nu naar de oorzaak.' />
        <#assign statusButton = ['Lees hoe je kan helpen','https://community.ziggo.nl'] />
    </#if>
    <#if issueTag == true && oorzaakbekendTag == true >
        <#assign statusTitle = 'Issue bekend' />
        <#assign statusBody = 'De technische dienst heeft de oorzaak gevonden. Er wordt aan een oplossing gewerkt.' />
        <#assign statusButton = ['',''] />
    </#if>
    <#if issueTag == true && softwareupdateTag == true >
        <#assign statusBody = statusBody+' Een volgende softwareupdate bevat de fix.' />
        <#assign statusButton = ['Update je software','https://community.ziggo.nl'] />
    </#if>
    <#if issueTag == true && websiteTag == true >
        <#assign statusBody = statusBody+' Volg onze storingschecker voor updates.' />
        <#assign statusButton = ['Naar de storingschecker','https://community.ziggo.nl'] />
    </#if>
    
    <#if statusTitle?? && statusBody??>
        <div class="">${statusTitle}</div>
        <div class=""><p>${statusBody}</p></div>
        <#if statusButton[0] != '' && statusButton[1] != '' >
            <a class="lia-button lia-button-secondary lia-link-ticket-post-action" href="${statusButton[1]}">${statusButton[0]}</a>
        </#if>
    </#if>
    
    </#if>