Formatting placeholders with Liquid markup Follow

Comments

16 comments

  • Avatar
    Crawford Philleo

    Hello! How would I capitalize each word in a string with a liquid filter in zendesk?

     

    Example: bob jones --> Bob Jones

     

    Example: martha's flower shop --> Martha's Flower Shop

     

    Thanks!

  • Avatar
    Bob Novak

    Hi Crawford - you would use the same capitalize filter that we mentioned earlier in the comments:

    https://github.com/shopify/liquid/wiki/liquid-for-designers#standard-filters

  • Avatar
    Crawford Philleo

    Hi Bob, thanks but this isn't working for me.

     

    I have a custom field, so I'm formatting my placeholder in a macro like this:

     

    {{ticket.ticket_field_<field ID> | capitalize}}

     

    This custom field is a Text field, and what this filter does is capitalize only the first word in the text string. If the text in that field is all caps, it will lower-case the string, and capitalize the first word only. Help!

  • Avatar
    Bob Novak

    Ah I guess you're right! Looks like that documentation is inaccurate. This resource says it only capitalizes the first word: https://help.shopify.com/themes/liquid/filters/string-filters#capitalize

    This is a bit more complicated, but you can do something using a for loop. There is a post on this page that describes it and you don't need a plugin:

    http://stackoverflow.com/questions/21315732/capitalize-first-letter-of-each-word-with-liquid-syntax

    I was able to get this to work on my account, but you'll want to play around with it a bit to make sure the formatting is how you want.

  • Avatar
    Sarah Sanders

    I'd like to control the output text when using a URL placeholder.

    I know that you can control normal link content by formatting it like this:

    [Text you see](URL link)

    This doesn't work with the placeholder. Is there a way to accomplish this?

  • Avatar
    Greg

    Hi Sarah! That's a good question and to properly answer this, I'll need to see the payload that you're using in the placeholder. I'm going to open up a ticket for you and you'll get a notification of that in a bit. We can work through this from there!

  • Avatar
    Thijm Post

    I would like to use {{ticket.requester.last_name}}‍ in the salutation of an Macro. For example:

    Dear Sir / Madam {{ticket.requester.last_name}}‍,

    But if someone sends us a e-mail, and they have not setup their first and last name, then this tag places everything before the @ symbol of the e-mailadres. For example:

    Dear Sir / Madam thecompanyname,

    What I would want to do:

    • If last_name is set, then add space+lastname.
    • If last_name not is set, then add nothing.

    This wil result in :

    Dear Sir / Madam Lastname,

    or

    Dear Sir / Madam,

    How can this be done?

  • Avatar
    Keith @ Zendesk

    Hey Thijm,

     

    Unfortunately we don't have anything that can work like that. For us in Support, sometimes the Macro really doesn't line up with the information we have, so we'll need to change it manually.  I've send your feedback on to Product though so they're aware of this need.

    Thanks!

  • Avatar
    Charles Wood

    It looks like many sites that use Liquid will implement a json filter, to convert an element into JSON. As Liquid is available in trigger payloads, this would be really helpful. Any idea if something like this exists, or is planned?

  • Avatar
    Ed Hass (Edited )

    I am using a placeholder to capture an email address but need to remove the hyperlink when its sent to the external email target. I have tried using strip_html but this doesn't work, do you have any suggestions?

  • Avatar
    Jessie - Community Manager

    Hi Ed!

    I see that Daniel pulling you into a ticket for this. He'll get you taken care of!

  • Avatar
    Patrick Bosmans

    Hello Charles,

    Liquid is a custom tool that administrators can use to adjust the communications that Zendesk sends to end-users.  From the research that I have done on other sites, this filter was a custom install on their end to have this behavior exhibited.

    From what I found, this is not a feature that we will be adding to our system in the near future.  However, I would definitely suggest posting this in our product feedback forum.  Our Dev team regularly goes through looking for new posts for feature requests to see what we can accomodate and add to the system.

    Sincerely,

    Patrick | Tier 1 Customer Advocate

  • Avatar
    Brianna McBride

    I'm trying to build a macro that says if our custom dropdown field "Town/Release Required" is "Little Elm" or "Denton County", place the corresponding dynamic content into the macro.

    For instance, if the Town/Release Required field is selected to "Little Elm", I would like our dynamic content named {{dc.little_elm}} to present when I apply the macro to the reply. However, if the Town/Release Required field is selected to "Denton County" I would like our dynamic content named {{dc.denton_county}} to present in the macro.

  • Avatar
    Stephen Fusco (Edited )

    Hey Brianna, 

    Thanks for reaching out to us! You should be able to use liquid markup in your macro to determine which dynamic content element is added on your ticket. This article should help you understand the logic and syntax behind how that'd work: Using Liquid markup to support multiple languages in automations, macros, and triggers

    I see you already have a ticket open with us on this topic so if you need any additional help setting that up for your individual use case please let us know there :) 

  • Avatar
    Brianna McBride

    Hi, Stephen! I've tried the link & I really truly have tried my best to figure it out on my own, but I would LOVE help on my individual case. How do I go about doing/getting that? 

    Thanks! 

    Brianna 

     

  • Avatar
    Jessie - Community Manager

    Hi Brianna!

    Since you already have a ticket open, our support team will be able to help with your individual situation there. :)

Please sign in to leave a comment.

Powered by Zendesk