包含空格的{if}语句的Velocity / Marketo问题

时间:2015-11-09 16:17:58

标签: velocity marketo

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

当我尝试在系统中显示与铅有关的东西时,我可以做类似的事情;

{{lead.myName}}

这也适用于包含空格的字段;

{{lead.my name}}

当使用该字段进行#set ting或#if某事时,它也不起作用。

#if($lead.my name)会发出错误消息,说明找到了意外的空格。

我尝试过像#if(${lead.my name})这样的变种无济于事。

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

实际用例

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

1 个答案:

答案 0 :(得分:1)

根据User Guide变量不能有空格

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

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

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

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

虽然这是无效的:

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

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