自适应卡片模板是否适用于 Composer?
Does Adaptive Cards Templating work in Composer?
我想像这样向自适应卡片添加按钮:
"actions": [
{
"$data": "${collection}",
"type": "Action.Submit",
"title": "${prop1}",
"data": {
"value": "${prop2}"
}
}
],
在 https://adaptivecards.io/designer/
中效果很好
但在 Composer 的 .lg 中它不会。
要实现这一点:
"$data": "${collection}",
我需要删除 ${collection} 周围的引号。
但是我无法让每个项目的 prop1 和 prop2 显示工作。当您在 $data 字段中声明一个带有数组的元素时,该元素应该重复,然后绑定的属性将属于数组的每个元素。这也没有发生。
我开始认为 Composer 不支持模板,我需要替换值并使用 lg 语法进行映射。
简答:否
机器人需要通过使用 Adaptive Cards templating 库向模板应用数据来显式“扩展”模板。 Composer 源代码从未提及自适应卡,整个 Bot Builder .NET SDK 中唯一提及自适应卡的地方是附件内容被识别为自适应卡,因此可以应用正确的内容类型。 Composer 和 Bot Builder 甚至都不依赖于 Adaptive Cards SDK,更不用说 Adaptive Cards 模板库了。
这个问题的某种形式已经在 GitHub 上被问过几次了:
- https://github.com/microsoft/BotFramework-Composer/issues/3798
- https://github.com/microsoft/BotFramework-Composer/issues/3422
- https://github.com/microsoft/BotFramework-Composer/issues/2129
您有几个选择:
- 使用 Bot Framework LG 的内置数据绑定功能,如 GitHub 问题中所述,而不是依赖自适应卡片模板
- Export the Composer runtime 这样您就可以像使用普通机器人一样向其添加功能
- 正式feature request要求 Composer 团队将 Adaptive Cards 模板合并到 Composer
我想像这样向自适应卡片添加按钮:
"actions": [
{
"$data": "${collection}",
"type": "Action.Submit",
"title": "${prop1}",
"data": {
"value": "${prop2}"
}
}
],
在 https://adaptivecards.io/designer/
中效果很好但在 Composer 的 .lg 中它不会。
要实现这一点:
"$data": "${collection}",
我需要删除 ${collection} 周围的引号。
但是我无法让每个项目的 prop1 和 prop2 显示工作。当您在 $data 字段中声明一个带有数组的元素时,该元素应该重复,然后绑定的属性将属于数组的每个元素。这也没有发生。
我开始认为 Composer 不支持模板,我需要替换值并使用 lg 语法进行映射。
简答:否
机器人需要通过使用 Adaptive Cards templating 库向模板应用数据来显式“扩展”模板。 Composer 源代码从未提及自适应卡,整个 Bot Builder .NET SDK 中唯一提及自适应卡的地方是附件内容被识别为自适应卡,因此可以应用正确的内容类型。 Composer 和 Bot Builder 甚至都不依赖于 Adaptive Cards SDK,更不用说 Adaptive Cards 模板库了。
这个问题的某种形式已经在 GitHub 上被问过几次了:
- https://github.com/microsoft/BotFramework-Composer/issues/3798
- https://github.com/microsoft/BotFramework-Composer/issues/3422
- https://github.com/microsoft/BotFramework-Composer/issues/2129
您有几个选择:
- 使用 Bot Framework LG 的内置数据绑定功能,如 GitHub 问题中所述,而不是依赖自适应卡片模板
- Export the Composer runtime 这样您就可以像使用普通机器人一样向其添加功能
- 正式feature request要求 Composer 团队将 Adaptive Cards 模板合并到 Composer