CrafterCMSには、別のコンポーネントTeamMemberのいくつかのインスタンスを割り当てるitemSelectorフィールドを持つコンポーネントTeamがあります。
Teamのテンプレートでは、子コンポーネントのモデル情報を取得するために siteItemService.getSiteItem を使用しています。
<#assign memberModel = siteItemService.getSiteItem(memberItem.storeUrl) />
私が持っているタイプ TeamMember のフィールド間: TeamMember のいくつかのフィールド
次のように skillTitle の値を取得できます。
<#assign skillsTitle = memberModel.queryValue("//skillsTitle")!"" />
しかし、繰り返しグループの値の値を取得できません。
私は試しました:
<#assign skills = memberModel.queryValues("//skills")![] />
1つの要素だけの配列を返します。空の文字列だと思います
<#assign skills = memberModel.queryValues("//skills/item")![] />
正しい要素数の配列を返しますが、それらはすべて空の文字列だと思います
私が使用する場合:
<#assign skills = memberModel.queryValues("//skills/item/skillName")![] />
すべてのスキル名を含む正しい配列を取得しますが、両方の値 (skillName と skillLevel) を反復処理する必要があります
繰り返しグループ内のすべての値を持つ要素の配列を取得するためにモデルをクエリするにはどうすればよいですか?