在 CrafterCMS 中,如何查询模型以获取包含重复组中所有字段的数组?
In CrafterCMS, how can I query a model to get an array with all the fields in a repeated group?
在 CrafterCMS 中,我有一个组件 Team 带有一个 itemSelector 字段,我在其中分配了另一个组件的一些实例 团队成员。
在团队的模板中,我使用siteItemService.getSiteItem获取子组件的模型信息:
<#assign memberModel = siteItemService.getSiteItem(memberItem.storeUrl) />
在 TeamMember 类型的字段之间我有:
Some fields of TeamMember
我可以这样获取 skillTitle 的值:
<#assign skillsTitle = memberModel.queryValue("//skillsTitle")!"" />
但我无法获得重复组中值的值。
我试过:
<#assign skills = memberModel.queryValues("//skills")![] />
它returns只有一个元素的数组,我认为是一个空字符串
<#assign skills = memberModel.queryValues("//skills/item")![] />
它returns一个元素数量合适的数组,但我认为它们都是空字符串
如果我使用:
<#assign skills = memberModel.queryValues("//skills/item/skillName")![] />
我得到一个包含所有技能名称的正确数组,但我需要迭代两个值(skillName 和 skillLevel)
如何查询模型以获得一个数组,其中的元素具有重复组中的所有值?
一旦您获得带有
的 SiteItem
<#assign memberModel = siteItemService.getSiteItem(memberItem.storeUrl) />
它的工作方式与 FreeMarker 模板中的任何其他 contentModel 变量一样。所以,你可以用
迭代它
<#list memberModel.skills.item as skill>
${skill.skillName} = ${skill.skillLevel}
</#list>
在 CrafterCMS 中,我有一个组件 Team 带有一个 itemSelector 字段,我在其中分配了另一个组件的一些实例 团队成员。
在团队的模板中,我使用siteItemService.getSiteItem获取子组件的模型信息:
<#assign memberModel = siteItemService.getSiteItem(memberItem.storeUrl) />
在 TeamMember 类型的字段之间我有: Some fields of TeamMember
我可以这样获取 skillTitle 的值:
<#assign skillsTitle = memberModel.queryValue("//skillsTitle")!"" />
但我无法获得重复组中值的值。
我试过:
<#assign skills = memberModel.queryValues("//skills")![] />
它returns只有一个元素的数组,我认为是一个空字符串
<#assign skills = memberModel.queryValues("//skills/item")![] />
它returns一个元素数量合适的数组,但我认为它们都是空字符串
如果我使用:
<#assign skills = memberModel.queryValues("//skills/item/skillName")![] />
我得到一个包含所有技能名称的正确数组,但我需要迭代两个值(skillName 和 skillLevel)
如何查询模型以获得一个数组,其中的元素具有重复组中的所有值?
一旦您获得带有
的 SiteItem<#assign memberModel = siteItemService.getSiteItem(memberItem.storeUrl) />
它的工作方式与 FreeMarker 模板中的任何其他 contentModel 变量一样。所以,你可以用
迭代它<#list memberModel.skills.item as skill>
${skill.skillName} = ${skill.skillLevel}
</#list>