Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何在CSML中将数组转换为组件?_Arrays_Loops_Carousel_Chatbot - Fatal编程技术网

Arrays 如何在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

我已经在CSML中创建了一个聊天机器人,我正试图找到一种将数组集成到旋转木马中的方法。 我的问题是我不能在旋转木马组件内循环

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()组件列表,以下是供参考的文档:

因此,下面的代码将起作用: