AEM Forms允许您在文本模块中使用内联条件来自动呈现依赖于与表单数据模型(在交互式通信中)或数据字典(在字母中)关联的上下文或数据的文本。 内联条件根据条件评估为true或false来显示特定内容。
条件对表单数据模型/数据字典或最终用户提供的数据值执行计算。 使用内联条件,您可以节省时间并减少人为错误,同时创建高度情境化和个性化的交互式通信/信件。
有关更多信息,请参阅:
要在交互式通信中条件化一个句子、段落或文本字符串,您可以在相应的文本文档片段中创建规则。 以下示例使用规则来仅向交互式通信的美国收件人显示免费号码。
有关更多信息,请参阅中的在文本中创建规则 交互式通信中的文本.
在交互式通信中包含文本片段且代理使用代理UI准备交互式通信后,将评估收件人的(表单数据模型)数据,并且文本仅向美国境内的收件人显示。
通过在相应的文本模块中插入内联条件,可以在信件中插入内联条件。 下面的示例使用两个条件来评估并显示在基于DD元素Gender的信件中的适当地址Sir或Ma'am。 使用类似的步骤,您可以创建其他条件。
如果您现有的资源包含旧的condition/repeat表达式(早于6.2 SP1 CFP 4),则资源会显示旧的condition和repeat语法。 但是,旧的条件/重复项有效。 新旧条件/重复表达式可相互兼容,以创建旧条件/重复表达式的嵌套混合。
在相关文本模块中,选择要条件化的文本部分并点按 条件.
此时将显示“条件”对话框,其中包含一个空条件。
无法保存空的或无效的条件表达式。 内部必须存在有效的条件表达式 ${}
以保存表达式。
执行以下操作可构建一个条件,用于评估所选/条件化文本是否显示在信件中,然后点按复选标记以保存表达式:
双击一个DD元素以将其插入到条件中。 在对话框中插入相应的运算符并构造以下条件。
${DD_creditcard_Gender=="Male"}
有关创建表达式的详细信息,请参见 使用表达式生成器创建表达式和远程函数 在 表达式生成器. 数据字典中的元素必须支持表达式中指定的值。 有关更多信息,请参阅 数据字典.
插入条件后,您可以将鼠标悬停在条件左侧的句柄上以查看条件。 您可以点击手柄以查看条件的弹出菜单,从中可编辑或删除条件。
通过选择文本插入相似条件 Ma'am
.
${DD_creditcard_Gender == "Female"}
预览相关信件,并注意文本已根据内联条件呈现。 可以使用以下方式输入DD元素Gender的值:
有关更多信息,请参阅 数据字典.
交互式通信/信件中可能包含动态信息,例如信用卡对帐单中的交易,其实例或发生次数可能会随生成的每个信件而不断变化。 使用重复,您可以在文本文档片段中格式化并构建此类动态信息。
此外,您可以在重复构造中指定规则/条件,以条件化在交互式通信/信件中呈现的信息/条目。
以下示例说明了使用重复来构造和渲染交互式通信中的信用卡交易的步骤。
在基于表单数据模型的文本文档片段中,插入相关的表单数据模型对象(以及标签所需的嵌入文本,如本示例所示):
可重复内容必须至少包含一个类型为Collection的属性。
选择要对其应用repeat的内容。
点按重复。
出现“重复”对话框。
选择换行符作为分隔符,并根据需要点按添加条件以创建规则。 也可以使用文本作为分隔符,并指定要用作分隔符的文本字符。
此时将显示“创建规则”对话框。
创建一个规则以显示日期在2018年2月28日之后的事务处理,以便在交互式通信中仅包含3月份的事务处理。
此示例假定Agent将在2018年3月底创建语句。 否则,您可以创建另一条规则以包含2018-04-01之前的交易,以排除2018年3月之后的交易。
保存条件/规则,然后保存重复。 条件重复将应用于所选内容。
将鼠标悬停在上面时,文本文档片段显示应用于内容的重复中使用的条件和分隔符。
保存文本文档片段并预览相关的交互式通信。 根据表单数据模型中的数据,对元素应用的重复将渲染事务详细信息,类似于预览中的以下内容:
以下示例为您提供了使用重复来构建和渲染信件中信用卡交易的步骤。 通过使用类似的步骤,您可以在不同场景中重复使用。
打开(在编辑或创建时)一个文本模块,该模块具有呈现重复/动态数据的DD元素,并在DD元素周围嵌入所需的文本。 例如,文本模块具有以下DD元素,用于创建信用卡上的交易记录报表:
{^DD_creditcard_TransactionDate^} {^DD_creditcard_TransactionAmount^}
{^DD_creditcard_TransactionType^}
这些DD元素呈现了在信用卡上进行的交易的列表,其中包含以下信息:
事务处理日期、事务处理金额和事务处理类型(借项或贷项)
将文本嵌入到DD元素中以使语句更易读,如下所示:
Date: {^DD_creditcard_TransactionDate^} Amount (USD): {^DD_creditcard_TransactionAmount^} Transaction Type: {^DD_creditcard_TransactionType^}
但是,呈现格式正确的语句的工作尚未完成。 如果您根据迄今为止完成的工作呈现信件,它将显示如下:
要与DD元素一起重复静态文本,需要按照后续步骤中的说明应用repeat。
选择静态文本以及要重复的DD元素,如下所示:
点按 重复. 将出现“重复”对话框,其中具有空的内联条件。
如果需要,可插入条件以有选择地呈现交易,如呈现大于50美分的交易量:
${DD_creditcard_TransactionAmount > 0.5}
否则,如果您不需要有选择地呈现信息(此处为事务),请通过在对话框中删除以下内容来保持条件为空: ${}
. 当重复表达式窗口为空(不需要重复时无${})或包含有效的重复条件时,将启用保存重复表达式。
选择用于设置动态文本格式的分隔符,然后点按复选标记以保存:
插入条件后,带有重复项的文本会以红色突出显示,并且左侧会出现一个句柄。 您可以将鼠标悬停在重复左侧的控制滑块上以查看重复构造。
您可以点按手柄查看重复项的弹出菜单,该菜单允许您编辑或删除重复构造。
预览相关信件,并通知文本已根据重复呈现。 可以使用以下方式输入DD元素的值:
有关更多信息,请参阅 数据字典.
静态文本与事务详细信息重复。 重复静态文本通过重复应用于此过程中的文本而变得容易。 条件${DD_creditcard_TransactionAmount > 0.5}可确保低于USD .5的事务不会在信件中呈现。
只有在创建或编辑相关文本模块时,才能插入条件并重复上述操作。 预览信件时,虽然可以对文本模块进行编辑,但无法插入条件或重复此操作。
您可能需要在条件中使用repeat。 通信管理允许您在内联条件构造中使用重复。
例如,以下内容在条件(绿色格式)中重复(红色格式)。
当重复呈现信用卡交易记录时,条件${DD_creditcard_nooftransactions > 0}确保仅在至少有一个交易记录时呈现重复构造。
同样,根据您的要求,您可以创建:
您可能需要插入空的内联条件并在以后嵌入文本和DD元素。 通信管理允许您执行此操作。
但是,建议尽可能首先在文本模块中使用预期格式(例如项目符号)插入文本和DD元素,然后应用内联条件。