包含 space 的 if 语句的 Velocity / Marketo 问题

Velocity / Marketo issue with if statements that include a space

我正在编写一些 Velocity 脚本作为 Marketo 电子邮件模板的一部分,它要求我检查是否设置了潜在客户的布尔属性。

当我尝试在我的系统中显示与潜在客户相关的内容时,我可以做类似的事情;

{{lead.myName}}

这也适用于其中包含 space 的字段;

{{lead.my name}}

当涉及到将该字段用于 #setting 或 #ifing 某些内容时,它也不起作用。

#if($lead.my name) 抛出一个错误,指出发现了意外的 space。

我试过 #if(${lead.my name}) 之类的变体,但无济于事。

任何帮助/指点都会非常有用。

实际用例

在我的示例中,我需要访问的字段称为 lead.Subscribed to Innovation (L) 1,我认为括号不会导致问题,当然任何错误消息都与 space 相关。

根据User Guide变量不能有空格

VTL 标识符必须以字母字符(a .. z 或 A .. Z)开头。其余字符仅限于以下类型的字符:

    alphabetic (a .. z, A .. Z)
    numeric (0 .. 9)
    hyphen ("-")
    underscore ("_")

即使有大括号: 这是有效的:

 #set( ${myemail} = "email@email.com" )

而 trhis 无效:

#set( ${my email} = "email@email.com" )

我最好的猜测是更改源系统以符合速度命名约定。