Arrays 如何在CSML中将数组转换为组件?
我已经在CSML中创建了一个聊天机器人,我正试图找到一种将数组集成到旋转木马中的方法。 我的问题是我不能在旋转木马组件内循环Arrays 如何在CSML中将数组转换为组件?,arrays,loops,carousel,chatbot,Arrays,Loops,Carousel,Chatbot,我已经在CSML中创建了一个聊天机器人,我正试图找到一种将数组集成到旋转木马中的方法。 我的问题是我不能在旋转木马组件内循环 mainCourse: // my array do menu = [ { "name": "Margarita", "type":"pizza", "image":"https://i1.wp.com/mycornerofitaly.com/wp-c
mainCourse:
// my array
do menu = [
{ "name": "Margarita", "type":"pizza", "image":"https://i1.wp.com/mycornerofitaly.com/wp-content/uploads/2016/11/02-margherita.png?zoom=2&resize=150%2C150&ssl=1" },
{ "name": "Marinara", "type":"pizza", "image":"https://i1.wp.com/mycornerofitaly.com/wp-content/uploads/2016/11/01-marinara.png?zoom=2&resize=150%2C150&ssl=1" },
{ "name": "Quatro Fromaggi", "type":"pizza", "image":"https://i2.wp.com/mycornerofitaly.com/wp-content/uploads/2016/11/08-quattro-formaggi.png?zoom=2&resize=150%2C150&ssl=1" },
{ "name": "Calzone", "type":"pizza", "image":"https://i1.wp.com/mycornerofitaly.com/wp-content/uploads/2016/11/14-calzone-tav.png?zoom=2&resize=150%2C150&ssl=1" },
{ "name": "Vegetariana", "type":"pizza", "image":"https://i2.wp.com/mycornerofitaly.com/wp-content/uploads/2016/11/13-vegetariana.png?zoom=2&resize=150%2C150&ssl=1" }
...
]
say "Thank you, I also love {{firstChoice}} You need to iterate through the Array in order to have a component-compatible list of Card() components, here is the doc for reference: https://docs.csml.dev/studio/channels/slack/message-formats#carousel-card
So the code below would work:
start:
do menu = [
{ "name": "Margarita", "type":"pizza", "image":"https://i1.wp.com/mycornerofitaly.com/wp-content/uploads/2016/11/02-margherita.png?zoom=2&resize=150%2C150&ssl=1" },
{ "name": "Marinara", "type":"pizza", "image":"https://i1.wp.com/mycornerofitaly.com/wp-content/uploads/2016/11/01-marinara.png?zoom=2&resize=150%2C150&ssl=1" },
{ "name": "Quatro Fromaggi", "type":"pizza", "image":"https://i2.wp.com/mycornerofitaly.com/wp-content/uploads/2016/11/08-quattro-formaggi.png?zoom=2&resize=150%2C150&ssl=1" },
{ "name": "Diavola", "type":"pizza", "image":"https://i1.wp.com/mycornerofitaly.com/wp-content/uploads/2016/11/11-diavola.png?zoom=2&resize=150%2C150&ssl=1" },
{ "name": "Calzone", "type":"pizza", "image":"https://i1.wp.com/mycornerofitaly.com/wp-content/uploads/2016/11/14-calzone-tav.png?zoom=2&resize=150%2C150&ssl=1" },
{ "name": "Vegetariana", "type":"pizza", "image":"https://i2.wp.com/mycornerofitaly.com/wp-content/uploads/2016/11/13-vegetariana.png?zoom=2&resize=150%2C150&ssl=1" }
]
// You create an empty array
do cards = []
// You loop through your array and foreach entry you create a Card() component
// that you add to the array that'll you'll later use for the Carousel() component
foreach (v, i) in menu {
do newCard = Card(
title=v.name,
subtitle=v.type,
image_url=v.image,
buttons=[Button("Choose")]
)
do cards.push(newCard)
}
say Carousel(cards=cards)
goto end
mainCourse:
//我的阵列
do菜单=[
{“名称”:“玛格丽塔”,“类型”:“比萨饼”,“图像”:”https://i1.wp.com/mycornerofitaly.com/wp-content/uploads/2016/11/02-margherita.png?zoom=2&resize=150%2C150&ssl=1" },
{“name”:“Marinara”,“type”:“pizza”,“image”:”https://i1.wp.com/mycornerofitaly.com/wp-content/uploads/2016/11/01-marinara.png?zoom=2&resize=150%2C150&ssl=1" },
{“name”:“Quatro Fromaggi”,“type”:“pizza”,“image”:https://i2.wp.com/mycornerofitaly.com/wp-content/uploads/2016/11/08-quattro-formaggi.png?zoom=2&resize=150%2C150&ssl=1" },
{“name”:“Calzone”,“type”:“pizza”,“image”:”https://i1.wp.com/mycornerofitaly.com/wp-content/uploads/2016/11/14-calzone-tav.png?zoom=2&resize=150%2C150&ssl=1" },
{“名称”:“素食”,“类型”:“比萨饼”,“图像”:”https://i2.wp.com/mycornerofitaly.com/wp-content/uploads/2016/11/13-vegetariana.png?zoom=2&resize=150%2C150&ssl=1" }
...
]
说“谢谢你,我也喜欢{{firstChoice}}你需要迭代数组,以获得一个与组件兼容的Card()组件列表,以下是供参考的文档:
因此,下面的代码将起作用:
您需要遍历数组,以获得与组件兼容的Card()组件列表,以下是供参考的文档:
因此,下面的代码将起作用: