个性化电子邮件中的内容列表
列表是组织信息以提高可读性的常用方法。 示例包括事件中的会话列表、产品列表或服务单列表。 Customer Insights – Journey 简化了创建列表和个性化列表的过程,只包含与收件人相关的信息,易于解析和操作。
建立一个列表
假设您想要创建一封包含客户拥有的产品列表的电子邮件。 遵循以下步骤:
创建一个列表占位符并选择您要用于列表的表格。
接下来,添加要显示为列表 (1) 中的重复内容的任何属性(列): 您还可以指定按哪个属性对列表进行排序 (3) 以及要显示的项目数 (2)。 根据需要设置好列表后,选择保存并复制按钮保存列表,并访问提供代码供您复制的代码生成器。
选择复制代码,然后将其插入电子邮件设计器中您希望包含此列表的位置:
“列表(每个)”语句允许您格式化和显示给定表的重复内容。 您可以在设计器或 HTML 视图中添加创建这些语句所需的代码。 然后,您可以使用占位符对话框来指定要评估的列表,包括要显示的行数和行显示顺序。
{{#each Products}} {{Products.Name}} {{Products.Description}} {{/each}}
如果要将代码添加到 HTML,请确保在行 {{#each}} 和 {{/each}} 四周添加注释。
<!-- {{#each Products}} --> {{Products.Name}} {{Products.Description}} <!-- {{/each}} -->
列表个性化 – 选择要包含在列表过滤器中的项目
有时,在电子邮件创建列表时,您只希望包含满足特定条件的项。 例如,关于订单货件的确认电子邮件应该只包括该货件中存在的项目,而排除在同一订单中但不在该货件中的项目。 同样,在每月新闻稿中,您可能希望只包含那些计划在未来 30 天内发生的事件。 这是通过定义一个列表过滤器来实现的,它本质上是一个在列表级别定义的条件,应用于每个列表项来决定该项是否应该被包含。
要过滤列表,请选择您已经在电子邮件中创建的列表,然后选择 + 添加列表过滤器。
在本例中,电子邮件包含产品列表。 我们应用了一个过滤器,只包括那些当前“活跃”的产品如果您没有向此列表添加过滤器,整个列表将包含在电子邮件中(受指定的最大项目数限制)。 在这种情况下,该列表将包括所有产品,无论其状态如何。
条件语句可能包含一个条件,用于简单筛选;也可以包含多个条件,用于复杂筛选。
备注
为列表生成的代码不会改变,因为过滤条件存储在列表定义中,不需要作为内联代码。
列表个性化 – 日期时间格式、相关表和列表中的条件
许多个性化可以通过简单的带有过滤器的列表来实现。 然而,您不仅限于这些类型的个性化。 本节描述了可用于构建高级和更加个性化的列表的附加功能。 要使用这些功能,请选择高级选项链接。
选择“高级选项”后,应用程序界面会变为更高级的版本,支持许多高级功能。
启用高级功能时:
- 已经选定的列显示为动态文本占位符。 这允许定义默认值并指定日期/时间格式。
- 添加列是通过添加列完成的,它允许为动态文本选择数据源的全部能力和灵活性(例如,遍历到相关的表)。
- 您可以添加项目级条件。
将列作为动态文本列出
在标准模式下,只能从数据源的属性列表中选择列表列(在上面的示例中,只有“产品”表的属性可用于选择列表列)。 在高级模式下,列显示为动态文本,因此动态文本提供的所有灵活性和功能对它们都是可用的,如下所示。
除了属性之外,还可以选择相关的表来引入附加信息。 在本例中,我们添加了一个列表列,它为每种产品添加了默认的价目表开始日期。
备注
选择相关表时,只能使用通过一对一或多对一关系相关的表。 列表列中不支持通过多对多或一对多关系相关的表(动态文本支持这些表)。
当列表项缺少数据时,可以指定默认值。
如果数据项属于日期/时间类型,您可以为其指定显示格式。
列表中的条件
前面描述的列表过滤器控制列表项是否应该被包含。 列表中的条件适用于列表项,当包含的列表项满足特定条件时,这些条件对于包含附加注释或内容非常有用。 例如,产品列表中可能有一些在某些方面很特别的产品 – 它们可能是新产品、即将停产、只有在某个日期后才能买到,等等。列表中的条件可用于添加此类标注和注释。 通过编辑 HTML,如果需要的话,您甚至可以添加可点击的链接或行动号召(例如,按钮)。
下面是一个示例,我们定义了一个条件来检查列表中包含的产品是否缺货:
定义此类条件后,列表代码会更新,以提供一个基本的工作模板,供您根据需要进行定制:
例如,我们可以针对列表项添加注释“缺货”。 只有当列表项的条件为真时,才会包含此批注。
{{#each Products}}
{{Products.Name}}
{{Products.Description}}
{{#if Products.OutofStock}}
**Out of stock**
{{/if}}
{{/each}}
默认情况下,代码生成器包含一个“else”部分,您可以根据需要保留或删除它。 如果定义了多个条件,代码生成器会将它们作为单独的条件包含在内(每个条件一个“if”语句)。 您可以根据需要更改代码以创建嵌套的“if”条件。
这里有一个例子,当数量小于 10 时,定义了一个附加条件“LowStock”。 为了正确标注低库存与缺货,需要如下所示嵌套“if”语句:
{{#each Products}}
{{Products.Name}}
{{Products.Description}}
{{#if Products.LowStock}}
{{#if Products.OutofStock}}
**Out of stock**
{{else}}
**Low stock – order soon**
{{/if}}
{{/each}}