CheckMarket 提供了一种强大的脚本语言来增强您的调查和报告,称为CheckMarket 脚本语言或简称CSL 。
您可以在电子邮件、调查和报告中im体育官app使用它。
im体育的脚本语言为您提供了极大的自由来im体育官app使用变量(占位符)、进行计算、显示或隐藏某些文本块等等。所以戴上你的计算思维帽,让im体育深入挖掘……
变量
脚本语言中的变量用双大括号括起来,像这样: {{someVariable}} 。它们不区分大小写,因此 {{SomeVariable}} 与 {{someVariable}} 相同。
等级制度
这些变量是分层的,因此您可以im体育官app使用点符号从顶层对象向下导航来浏览它们。这里有些例子:
- 调查中的问题:{{survey.questions}}
- 调查中第一个问题的文本:{{survey.questions.1.text}}
- 问题 1 中第二个答案选择的文本:{{survey.questions.1.answerChoices.2.text}}
- ……
在哪里可以找到
调查变量:可以在您的问题、电子邮件、通知等文本编辑器的“变量”下拉列表中找到
这是调查界面变量的列表。
报表变量:在 ReportBuilder 中,您可以im体育官app使用展开按钮在文本编辑器中找到这些变量在右侧“评论”下的属性窗格中。在这里您会找到“变量”菜单:
CSL 可以用在什么地方?
CSL 几乎可以在任何地方im体育官app使用。在调查、报告和电子邮件中。您甚至可以在电子邮件的主题行或“发件人”字段或“收件人”字段中im体育官app使用它。im体育所说的电子邮件是指所有电子邮件:邀请、提醒、感谢电子邮件和通知。您只需直接在文本中键入 CSL 代码。开始的一个好方法是复制并粘贴一个示例,然后对其进行调整以满足您的需要。
运营商
im体育的脚本语言 CSL 支持的不仅仅是变量。im体育官app使用特殊运算符,您可以实现自己的逻辑。
在 CSL 中,运营商是第一位的!
在CSL中写1=1是:
{{eq 1 1}}
“eq”代表“等于”。在它后面,im体育放置了两个要检查的参数,用空格分隔。所有 CSL 运营商都是这样工作的!
'eq' 运算符需要两个参数。如果你需要先做一些额外的操作,你需要im体育官app使用括号来对参数进行分组,如下所示:
{{eq (add 1 1) 2}}
当你有括号时,其中的内容首先完成。所以在这种情况下,首先完成“添加”,然后由“eq”运算符评估结果。
这是一个im体育官app使用“if”语句的示例:
{{#if (eq contact.customFields.department 'HR')}} You work in HR! {{/if}}
在上面的示例中,im体育检查当前联系人名为“部门”的自定义字段是否 等于“HR”。如果是这样,im体育显示一个文本。如果没有,则不显示任何内容。
运营商名单
您可以根据自己的逻辑im体育官app使用块运算符来显示/隐藏内容。
操作员 | 描述 |
---|---|
如果 | im体育官app使用 if 助手有条件地显示一个块。如果其参数返回 false、null、“”、0 或 [],则该块将不可见。
|
如果+其他 | 如果不满足第一个条件,则指定要显示的 else 块。
|
否则如果 | im体育官app使用else if组合多个 #if 块。系统将按顺序评估每个“如果”,直到找到一个为真或到达“其他”。一旦“if”块之一为真,其他块将被忽略,即使它们也为真。
|
除非 | im体育官app使用unless助手作为if助手的逆函数。如果不满足条件(如果值为 false、null、“”、0 或 []),将显示其内容
|
每个 | im体育官app使用内置的each助手遍历列表。在块内,您可以im体育官app使用它来引用被迭代的元素,或立即im体育官app使用底层属性。
|
每个+其他 | 与each运算符一起,您可以选择提供一个else部分,该部分仅在列表为空时显示。
|
评论 | im体育官app使用注释块添加内部注释,或暂时阻止某些 CSL 执行。
|
您可以im体育官app使用逻辑运算符检查和比较变量。这些运算符最常用于#if等块运算符或显示逻辑中。
CSL 条件是要么为true要么为false 的 陈述。
这是一个将返回true 的简单示例:
{{eq 1 1}}
翻译:“eq”代表“等于”。在 CSL 中,运营商总是放在第一位。其他两项是正在比较的内容,因此它表示“1 等于 1”。这是真实的。
这是一个将返回false 的示例:
{{eq 1 2}}
它说“1 等于 2”。这是错误的。
操作员 | 描述 |
---|---|
当量 | 如果两个参数相等则返回真。
|
无 | 如果两个参数不相等,则返回 true。
|
lt | 如果第一个参数小于第二个参数,则返回 true。
|
GT | 如果第一个参数大于第二个参数,则返回 true。
|
乐 | 如果第一个参数小于或等于第二个参数,则返回 true。
|
格 | 如果第一个参数大于或等于第二个参数,则返回 true。
|
包含 | 如果第一个参数的文本包含第二个参数,则返回 true。
|
和 | 如果所有参数都为真,则返回真。
|
或者 | 如果任何参数为真,则返回真。
|
不是 |
反转结果。如果内部条件为假则返回真,如果内部条件为真则返回假。例如,检查受访者是否为联系人。如果他们不是联系人,这将返回 true。
|
im体育官app使用数学运算符来处理数字。您可以执行计算或控制数字的显示方式。
操作员 | 描述 |
---|---|
添加 |
添加两个或多个数字。
|
减去 |
减去两个或多个数字。
|
乘 | 将两个或多个数字相乘。
|
划分 | 将两个或多个数字相除。
|
平均的 |
平均两个或多个数字。
|
开方 | 计算一个数的平方根。
|
战俘 | 计算第一个参数的第二个参数的幂。
|
模组 | 计算第一个参数除以第二个参数后的余数。
|
腹肌 | 返回数字的绝对值。
|
圆形的 | 将数字四舍五入到指定的位数。如果未指定数字,则数字四舍五入为 0 位。
|
地面 |
将数字向下舍入到最接近的整数。
|
天花板 | 将数字向上
舍入到下一个整数。
|
随机的 | 在指定的数字之间生成一个随机数。
|
随机+排除 | 生成一个随机数,不包括某些值。您可以根据需要添加任意数量的排除值。
|
数数 | 获取列表/数组中
项目的数量。
|
k | 将数字格式化为K表示法。
|
十二月 | 明确选择小数点分隔符。
|
im体育官app使用日期运算符来显示或操作日期和时间。
操作员 | 描述 |
---|---|
当前日期 | 以调查所有者的日期格式和时区返回当前日期和时间。
|
.iso | 添加到任何日期以获取 ISO 格式的日期。这种格式是机器可读的。用于预填充和后填充。
|
。世界标准时间 | 添加到任何日期以获取 UTC 时区中ISO 8601 格式的日期。这种格式是机器可读的。在向数据库或 API 发送日期时im体育官app使用。
|
。日期 | 添加到任何日期以仅获取不包括时间的日期的日期部分。
|
。时间 | 添加到任何日期以仅获取不包括日期的日期的时间部分。
|
。相对的 | 添加到任何日期以获得相对日期,用文字描述。
提示:im体育官app使用 .relative.styled 获取相对日期,将原始日期作为工具提示。 |
。年 。月 .month.text 。天 .星期几 .dayOfWeek.文本 。小时 …… |
添加到任何日期以仅获取日期的那部分。
|
regionalSettings.timezoneOffsetHours | 获取调查所有者的本地时区与 UTC(协调世界时)之间的时差。这是基于调查所有者的用户配置文件。
|
日期格式 | im体育官app使用指定格式
显示日期。
您可以im体育官app使用的格式的一些示例:
|
添加日期 | 将特定时间跨度添加到日期。 指定日期、要添加的单位数(可以im体育官app使用负值进行减法)和单位。 单位可以是以下之一:年、月、日、小时、分钟和秒。
注意:日期始终以 ISO 8601 格式返回。如果您想以漂亮的方式呈现它,请im体育官app使用dateFormat 。 |
日期差异 | 计算两个日期之间的差异。 指定开始和结束日期以及单位。单位可以是年、月、日、小时、分钟或秒。
|
日期在时区 | 显示特定时区的日期。
提示:要以更易于im体育的格式显示日期,还可以im体育官app使用dateFormat运算符:
所有支持的时区都可以在im体育的时区列表中找到。 |
im体育官app使用文本运算符更改文本的呈现方式。
操作员 | 描述 |
---|---|
大写字母 | 将文本转换为大写字母。
|
小写字母 | 将文本转换为小写字母。
|
修剪 |
删除文本开头和结尾的空格。
|
代替 | 用另一组字符替换字符串中的一系列字符。此运算符接受三个术语:要搜索的文本、要查找的文本和替换文本:{{replace textToSearch textToFind replaceWith}}
此运算符不区分大小写,并将替换所有出现的搜索词。 |
分裂 | 根据字符拆分文本并返回一部分。此运算符接受三个术语:要拆分的文本、要拆分文本的字符(定界符)、要返回的部分的索引:{{split textToSplit characterToSplitOn index}} 这是im体育提取第二项的逗号分隔字符串的示例:
|
左边 | 提取一段文本的第一个字符。
|
正确的 | 提取一段文本的最后一个字符。
|
子串 | 从一段文本中提取字符。该运算符接受三个参数:文本、第一个字符的索引和要提取的字符数。省略最后一个参数以提取其余文本。
|
.未格式化 | 从文本中删除格式。
将它放在变量的末尾以去除 HTML 格式并将所有内容显示为纯文本 |
网址编码 | 使文本适合 URL 。
当在可能包含空格、斜杠或其他特殊字符的 URL 中im体育官app使用变量时,应im体育官app使用此选项。数字不需要进行 url 编码。
|
json编码 | 使文本适合 JSON 。
这应该在创建 JSON 时im体育官app使用,并且文本可能包含反斜杠、双引号或其他特殊字符。您还可以将“.jsonEncoded”添加到变量的末尾。例如:
|
散列 | 将文本转换为64 个字符的哈希码。
此运算符im体育官app使用 SHA-256 哈希算法生成 64 个字符的哈希值。
|
当受访者单击链接时,im体育官app使用模式和弹出窗口显示额外信息。对较长的文本或图像im体育官app使用模态框,对少量信息或解释单词im体育官app使用弹出框。
注意:这些运算符仅在调查界面和报告中受支持。
操作员 | 描述 |
---|---|
图标 | 显示一个小图标。从Font Awesome指定一个标识符。
|
模态的 | 显示打开模态窗口的链接。
也可以添加图标。
如果模态窗口中的文本很长,您还可以im体育官app使用#modal 变体:
|
工具提示 | 将鼠标移到某物上时显示工具提示或文本气球。
注意:由于手机上没有鼠标,它是通过点击激活的。 默认情况下,工具提示显示在链接上方。您可以通过指定“左”、“右”或“底”来覆盖此位置。
也可以添加图标。 添加要用作最后一个参数的图标的FontAwesome类。
如果工具提示中的文本很长,您还可以im体育官app使用#tooltip 变体:
|
弹窗 | 与工具提示相同,但只能通过单击激活,而不是将鼠标移到它上面。
|
灯箱 | 显示图像的小版本。当它被点击时,一个大版本的图像通过填满屏幕显示出来,并使页面的其余部分变暗。{{ #lightbox }} 在图像之前添加 {{#lightbox}} 并在图像之后添加 {{/lightbox}} 以使其可点击。单击时,图像将全屏显示。 (可选)在同一个灯箱内添加多个图像以创建画廊。 您还可以在灯箱内显示图像而不im体育官app使用图像,而是im体育官app使用文本:
|
二维码 | 显示 URL 或文本片段的二维码。您可以选择提供以像素为单位的大小。最大尺寸为 270。
结果: 您也可以im体育官app使用变量。例如,如果您有优惠券代码,请在名为“优惠券”的联系人自定义字段中im体育官app使用:
|
有关更多示例和信息,请参阅以下文章:
工具提示、弹出窗口和模态窗口
im体育官app使用自定义临时变量将大函数拆分成更小的部分。这些变量不存储在任何地方,它们仅在同一页面内暂时可用。
操作员 | 描述 |
---|---|
放 |
保存一个临时值。您需要指定名称和值。
要保存大段文本,您还可以im体育官app使用#set 变体:
您可以通过传递多个值来组合文本,如下所示:
注意:此时没有返回结果。im体育官app使用下面的函数检索此变量。 |
得到 |
im体育官app使用您通过set运算符指定的名称检索临时值。 |
从联系人列表中查找信息,就好像它是一个数据库,并将该信息返回到调查、通知和报告中。
操作员 | 描述 |
---|---|
联系人列表查询 | 许多用户想在数据库中查找一些东西。此功能使您可以将联系人列表用作一种数据库。例如,员工输入他们的员工编号,然后从联系人列表中检索他们的部门、级别和经理。 contactListLookup函数有4 个术语:
您可以选择指定一个额外的术语“包含”来查找部分匹配而不是完全匹配。例如,“ACME”也将匹配“ACME Corporation”。
但它可以比联系人(人)走得更远。更抽象地思考,你可以查找任何东西。例如,将商店列表放在联系人列表中,当有人进入他们的城市时,您返回该城市中的位置地址,或者有人选择他们的商店,商店经理的电子邮件地址放在“收件人”字段中通知不满意的客户。任何类型的查找都成为可能! |
查询字符串查询 | 从 URL 中提取查询字符串参数。
|
USStateTo缩写 | 获取给定美国州的缩写。
|
USStateFrom缩写 | 从缩写中获取美国州名。
|
您可以组合所有这些运算符来创建更高级的逻辑。最常见的例子是组合“and”、“or”和“not”。为此,您真的必须考虑真假。每个项目都经过评估,然后im体育官app使用运算符进行比较。
例如:
{{eq 1 1}}
这是真的。 1 等于 1。
im体育官app使用和:
{{and (eq 1 1) (eq 2 2)}}
这是真的。 1 等于 1,2 等于 2。
im体育官app使用或:
{{or (eq 1 2) (eq 2 2)}}
这是真的。 1不等于 1,但2 等于 2。如果 任何一项 为真,则“或”为真。
im体育官app使用不:
{{not ( or(eq 1 3) (eq 2 2))}}
这是错误的。 1 不等于 3,但 2 等于 2。“不”反转结果。简化后,代码可以看作:
{{not (or false true)}}
or为真,因为其中一项为真,所以你得到:
{{not (true)}}
'Not' 使真变成假:
{{false}}
例子
您可以组合所有这些运算符来创建更高级的逻辑。im体育有一个页面,其中包含您可以在调查中im体育官app使用的有用的 CSL 代码片段。它们是一个很好的起点。即使您没有找到完全符合您要求的代码,通常也有一些您可以稍微更改以实现您想要的代码。
2条评论
加入对话allan cheung - 2019 年 4 月
在调查中是否有如何im体育官app使用 checkmarket 脚本语言的示例?
Pieter De Witte - 2019 年 4 月
是的,有一个关于在调查中im体育官app使用 CSL 的页面。
您可以在问题、文本/媒体、通知等中im体育官app使用这些变量。