I created a message template for an email that will be sent to our accounting when an online contribution is made - it has a table and I've inputted tokens that will put in data for the contribution. I have successfully working tokens like {contribution.custom_44} and {contribution.custom_43} which are custom fields for contributions, but one of those is a Text field and the other is a regular Select field, but the 3rd one is a Multi-Select with the token {contribution.custom_45}, but when I test the message, in place of the token it puts "Array" instead of the actual value of that custom field (which is either one or more of the options in the Multi-Select dropdown). I've tried something like {contribution.custom_45.value} but that didn't work.

Am I missing syntax here? I'm trying to get the values in that Multi-Select/Array, not just the fact that it's an array.

Thanks :)

1 Answer 1


I found I could get the value I needed by using contribution.custom_xx[0], though I was dealing with a field with only one option.

For multi-select I presume you would need a foreach to output all of the array values, or implode it into a string if you just want the contents as a list. I had tried implode but found I didn't need it, something like this might work {', '|implode:contribution.custom_xx}

  • Thanks for your comment, that's definitely what I need and on the right track! When I tried using your implode token, it didn't work, all that showed was the text as it is: "{', '|implode:contribution.custom_xx}"
    – Seth Weber
    Jun 10, 2020 at 14:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.