Recommendations Designs - velocity - map

Jerome1978 08-02-2019


I am trying to setup a Map array for design, I am able to set the map array but I can access it's value

Apache Velocity Engine - User Guide

#set( $monkey.Map = {"banana" : "good", "roast beef" : "bad"})

$monkey.Map.get("banana") Doesn't work

Is map included?



Accepted Solutions (1)

Accepted Solutions (1)

Eric_Vidana 12-02-2019

It seems that using the Map is where things go wrong.




Those should work based on the example. Tried your use case as well:

#set( $translateReadmore = {"en" : "Read more", "fr" : "lire la suite", "de" : "Mehr darüber"})

#set( $language = "en" )


    "entityId" : "$",

    "test" : "$translateReadmore[$language]"


test comes through fine as Read more

Answers (3)

Answers (3)

Jerome1978 12-02-2019

Hi Eric,

Sorry I don't understand your answer.

Let me give you an example of what I want to do - If I want to translate a Design

#set( $translateReadmore.Map = {"en" : "Read more", "fr" : "lire la suite", "de" : "Mehr darüber"})

So I could use in the Design ($language determined based on Metadata)




Eric_Vidana 11-02-2019

So it is not exactly what you are asking ... however this works for me.

#set( $monkey = {"banana" : "good", "roast beef" : "bad"})


    "entityId" : "$",

    "test" : "$monkey.banana"




    "thirdPartyId": "ldksjflaksdjfldjlkf",

    "edgeHost": "",

    "content": "{\n    \"entityId\" : \"top-secret-product\",\n    \"test\" : \"good\"\n}",

    "sessionId": "abc123554"


Seems like it does not need to be specified as a map.