在 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>