#adaptive-cards #bot-framework-composer
#адаптивные карты #бот-фреймворк-композитор
Вопрос:
Я хочу добавить кнопки к адаптивной карте следующим образом:
"actions": [
{
"$data": "${collection}",
"type": "Action.Submit",
"title": "${prop1}",
"data": {
"value": "${prop2}"
}
}
],
Это отлично работает в https://adaptivecards.io/designer /
Но в .lg в Composer это не так.
Чтобы это работало:
"$data": "${collection}",
Мне нужно удалить запросы вокруг $ {collection}.
Но тогда у меня нет возможности заставить работать prop1 и prop2 для каждого элемента. Когда вы объявляете элемент с массивом в поле $data, элемент должен повторяться, и тогда связанные свойства будут принадлежать каждому элементу массива. Этого тоже не происходит.
Я начинаю думать, что Composer не поддерживает создание шаблонов, и мне нужно будет заменить значения и создать карту с синтаксисом lg.
Комментарии:
1. Связывание: github.com/microsoft/BotFramework-Composer/issues/5662
2. Является ли мой ответ приемлемым?
Ответ №1:
Короткий ответ: нет
Ботам необходимо явно «расширять» шаблоны, применяя к ним данные с помощью библиотеки шаблонов Adaptive Cards. В исходном коде 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, вместо того, чтобы полагаться на адаптивные шаблоны карт
- Экспортируйте среду выполнения Composer, чтобы вы могли добавлять в нее функции, как в обычном боте
- Сделайте официальный запрос функции, в котором попросите команду Composer включить адаптивные шаблоны карт в Composer