2012-11-01 17 views
5

ここに問題があります。私が現時点で持っている構造は次のとおりです。コンポーネント内のコンポーネント内のコンポーネントのテンプレート内のフィールドにアクセスする

ComponentA 
    FieldA1 - textField 
    CombonentsB - componentLink (multi-value) 
     FieldB1 - textField 
     ComponentC - componentLink 
      FieldC1 - textField 

今、私はページにTemplateAを配置しようとしています。 DWTテンプレートを使用しています。 私が必要とするのは、テンプレートのFieldC1にアクセスすることです。

私はすでにTemplateAに「パッケージにリンクされたコンポーネントを追加する」TBBを追加しました。 私はそれがこの1と同じだと思います: http://sdltridionworld.com/community/extension_overview/addcompstopackage.aspx 私はテンプレート内のFieldB1にアクセスできますが、階層のさらに下のフィールドはアクセスできません。

hiearchy全体を含む別のTBBを書き込む必要がありますか、それとも期待どおりに動作し、アクセスコードが間違っているのでしょうか?

<!-- TemplateBeginRepeat name="ComponentsB" --> 
@@[email protected]@ 
<!-- TemplateEndRepeat --> 

私はそれを動作させるために何ができますか?新しいTBBを作成する他の解決策はありますか?

=========== SOLUTION ============

Nickoli RoussakovがDGXについて私に言った後、私はそれを正しく実装するために管理。 ここでは、コード:あなたはDWTの構文でより深く行くことができないので、

<!-- TemplateBeginRepeat name="ComponentsB" --> 
    @@Get("ComponentsB[${TemplateRepeatIndex}].Fields.ComponentC.Fields.FieldC1")@@ 
<!-- TemplateEndRepeat --> 

答えて

8

GetLinkedComponentsは成分のみのネストの最初のレベルで動作します。あなたのオプションは、componentBから必要な出力をレンダリングするカスタムtbbを書くことです。あるいは、GetLinkedComponentsではなくNunoのDGX拡張(sdltridionworldでも)を試してみてください。

+0

thx多く、私はDGXで要件を実装することができました! – Egi

関連する問題