自适应卡片模板可以在 Composer 中使用吗?

Mar*_*osa 5 adaptive-cards bot-framework-composer

我想向自适应卡添加按钮,如下所示:

    "actions": [
        {
            "$data": "${collection}",
            "type": "Action.Submit",
            "title": "${prop1}",
            "data": {
                "value": "${prop2}"
            }
        }
    ],
Run Code Online (Sandbox Code Playgroud)

这在https://adaptivecards.io/designer/中工作得很好

但在 Composer 的 .lg 中则不然。

为此,请执行以下操作:

"$data": "${collection}",
Run Code Online (Sandbox Code Playgroud)

我需要删除 ${collection} 周围的引号。

但是我没有办法让 prop1 和 prop2 显示每个项目。当您在 $data 字段中声明带有数组的元素时,该元素应该重复,然后绑定的属性将属于数组的每个元素。这也没有发生。

我开始认为 Composer 不支持模板,我需要替换值并使用 lg 语法进行映射。

Kyl*_*ney 4

简短回答:不

机器人需要通过使用自适应卡模板库将数据应用到模板来显式“扩展”模板。Composer 源代码从未提及自适应卡,整个 Bot Builder .NET SDK 中唯一提及自适应卡的地方是附件内容被识别为自适应卡,以便可以应用正确的内容类型。Composer 和 Bot Builder 都不依赖 Adaptive Cards SDK,更不用说 Adaptive Cards 模板库了。

这个问题的某种形式已经在 GitHub 上被问过几次了:

您有几个选择:

  1. 使用 Bot Framework LG 的内置数据绑定功能(如这些 GitHub 问题中所述),而不是依赖自适应卡模板
  2. 导出 Composer 运行时,以便您可以像使用普通机器人一样向其添加功能
  3. 提出正式功能请求,要求 Composer 团队将自适应卡模板合并到 Composer 中