选择度假村后的 SpaceResorts 对话框
Dialog for SpaceResorts after selecting a resort
我想让比克斯比在选择度假村后读出描述。由于在显示所有度假村时不会显示描述,因此选择度假村后有描述对话框会很好。
我正在尝试获取结果 == 1 时的对话框。我已尝试创建一个对话框以匹配来自-属性 SpaceResort 的 ViewAll,但仍然无法获取任何自定义对话框。
result-view {
match {
ViewAll(all) {
from-property {
SpaceResort (result)
}
}
}
message {
template-macro (SPACE_RESORT_RESULT) {
param (result) {expression (result)}
}
}
render {
if (size(result) > 1) {
list-of (result) {
where-each (item) {
layout-macro (space-resort-summary) {
param (spaceResort) {
expression(item)
}
}
}
layout
highlights {
select(pick) {
label {
template-macro (HIGHLIGHT_LABEL_BY_PREFERENCES)
}
layout-macro (space-resort-highlight) {
param (spaceResort) {
expression(pick)
}
}
order-by {
sorting (pick) {
by-preferences
}
}
}
select(pick) {
label("#{raw(pick.highlight)}")
layout-macro (space-resort-highlight) {
param (spaceResort) {
expression(pick)
}
}
filter-by (exists(pick.highlight))
}
select(pick) {
label("#{raw(pick.highlight)}")
layout-macro (space-resort-highlight) {
param (spaceResort) {
expression(pick)
}
}
filter-by (exists(pick.highlight))
}
select(pick) {
label("#{raw(pick.highlight)}")
layout-macro (space-resort-highlight) {
param (spaceResort) {
expression(pick)
}
}
filter-by (exists(pick.highlight))
}
}
}
} else-if (size(result) == 1) {
layout-macro (space-resort-details) {
param (spaceResort) {
expression (result)
}
}
}
}
conversation-drivers {
if ("size(result) == 1") {
conversation-driver {
template-macro (MakeReservation)
}
}
}
}
转到 resources/en/dialogs/
并创建了一个名为 selected_planet.dialog.bxb
的对话框。
使用以下代码创建对话框:
dialog (Result) {
match: SpaceResort (this)
template("You selected this planet!.") {
speech ("#{value(this.description)}")
}
}
Bixby 现在将大声朗读描述。
测试一下:
说 "Give me a space resort near mars"
和 select 出现的选项之一。
我想让比克斯比在选择度假村后读出描述。由于在显示所有度假村时不会显示描述,因此选择度假村后有描述对话框会很好。
我正在尝试获取结果 == 1 时的对话框。我已尝试创建一个对话框以匹配来自-属性 SpaceResort 的 ViewAll,但仍然无法获取任何自定义对话框。
result-view {
match {
ViewAll(all) {
from-property {
SpaceResort (result)
}
}
}
message {
template-macro (SPACE_RESORT_RESULT) {
param (result) {expression (result)}
}
}
render {
if (size(result) > 1) {
list-of (result) {
where-each (item) {
layout-macro (space-resort-summary) {
param (spaceResort) {
expression(item)
}
}
}
layout
highlights {
select(pick) {
label {
template-macro (HIGHLIGHT_LABEL_BY_PREFERENCES)
}
layout-macro (space-resort-highlight) {
param (spaceResort) {
expression(pick)
}
}
order-by {
sorting (pick) {
by-preferences
}
}
}
select(pick) {
label("#{raw(pick.highlight)}")
layout-macro (space-resort-highlight) {
param (spaceResort) {
expression(pick)
}
}
filter-by (exists(pick.highlight))
}
select(pick) {
label("#{raw(pick.highlight)}")
layout-macro (space-resort-highlight) {
param (spaceResort) {
expression(pick)
}
}
filter-by (exists(pick.highlight))
}
select(pick) {
label("#{raw(pick.highlight)}")
layout-macro (space-resort-highlight) {
param (spaceResort) {
expression(pick)
}
}
filter-by (exists(pick.highlight))
}
}
}
} else-if (size(result) == 1) {
layout-macro (space-resort-details) {
param (spaceResort) {
expression (result)
}
}
}
}
conversation-drivers {
if ("size(result) == 1") {
conversation-driver {
template-macro (MakeReservation)
}
}
}
}
转到 resources/en/dialogs/
并创建了一个名为 selected_planet.dialog.bxb
的对话框。
使用以下代码创建对话框:
dialog (Result) {
match: SpaceResort (this)
template("You selected this planet!.") {
speech ("#{value(this.description)}")
}
}
Bixby 现在将大声朗读描述。
测试一下:
说 "Give me a space resort near mars"
和 select 出现的选项之一。