2017-05-04 2 views
3

は、私は別のコンポーネントTeamMemberのいくつかのインスタンスを割り当てていitemSelectorフィールドでコンポーネントチームを持っています。私が持っているタイプTeamMemberのフィールド間のCrafterCMSでは、繰り返しグループ内のすべてのフィールドを持つ配列を取得するためにモデルをクエリする方法はありますか? <strong>CrafterCMS</strong>で

<#assign memberModel = siteItemService.getSiteItem(memberItem.storeUrl) /> 

を:: Some fields of TeamMember

私は子コンポーネントのモデル情報を取得するためにsiteItemService.getSiteItemを使用していチームのテンプレートで

skillTitleの価値を得ることができます:

しかし、私は繰り返しグループの値の価値を得ることができません。

私が試した:

<#assign skills = memberModel.queryValues("//skills")![] /> 

をそれはただ一つの要素の配列を返し、私はそれが要素の右の数の配列を返しますが、私は空の文字列

<#assign skills = memberModel.queryValues("//skills/item")![] /> 

だと思います私が使用している場合は、それらのすべてが空の文字列

あると思います:

<#assign skills = memberModel.queryValues("//skills/item/skillName")![] /> 

私はすべてのスキル名の正しい配列を得るが、私は要素が内のすべての値を持つ配列を取得するために、モデルを照会することができますどのように両方の値(skillNameとskillLevel)

を反復必要繰り返されたグループ?

答えて

3

あなたは

< #assign memberModel = siteItemService.getSiteItem(memberItem.storeUrl)/>

でSiteItemを得れば、それはFreeMarkerのテンプレートの中にも他のcontentModelの変数のように動作します。したがって、それを繰り返すことができます

<#list memberModel.skills.item as skill> 
    ${skill.skillName} = ${skill.skillLevel} 
</#list> 
+1

これは非常に役に立ちました! – kmarcos

関連する問題