2012-11-01 7 views
5

मुझे यहां कोई समस्या है। इस समय मेरे पास संरचना है:घटकों के अंदर घटकों के अंदर घटकों के टेम्पलेट में फ़ील्ड एक्सेस करें

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

अब मैं एक पृष्ठ पर टेम्पलेट के साथ घटक को रखने की कोशिश कर रहा हूं। मैं डीडब्ल्यूटी टेम्पलेटिंग का उपयोग कर रहा हूं। मुझे टेम्पलेट में FieldC1 तक पहुंचने की आवश्यकता है।

मैंने पहले से ही "पैकेज में लिंक किए गए घटक जोड़ें" टेम्पलेट में टीबीबी जोड़ा है। मुझे लगता है कि यह इस के समान है: http://sdltridionworld.com/community/extension_overview/addcompstopackage.aspx मैं अपने टेम्पलेट में फ़ील्डबी 1 तक पहुंच सकता हूं लेकिन पदानुक्रम में फ़ील्ड को आगे नहीं बढ़ा सकता।

क्या मुझे एक और टीबीबी लिखना है जिसमें संपूर्ण हाइर्चरी शामिल है, या इसे उम्मीद के अनुसार काम करना चाहिए और मेरा एक्सेस कोड सिर्फ गलत है?

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

यह काम करने के लिए मैं क्या कर सकता हूं? क्या कोई नया समाधान है तो एक नया टीबीबी लिख रहा है?

=========== समाधान ============

बाद Nickoli Roussakov मुझे DGX के बारे में बताया, मैं इसे सही ढंग से लागू करने में कामयाब रहे। यहाँ कोड:

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

उत्तर

8

GetLinkedComponents केवल घटक घोंसले के पहले के स्तर पर काम करता है क्योंकि आपको लगता है कि डीडब्ल्यूटी वाक्य रचना के साथ की तुलना में गहरी नहीं जा सकते। आपके विकल्प एक कस्टम टीबीबी लिखना है जो घटक बी से आवश्यक आउटपुट को प्रस्तुत करता है, या GetLinkedComponents के बजाय नूनो के डीजीएक्स एक्सटेंशन (sdltridionworld पर भी) को आज़माएं।

+0

thx बहुत, मैं डीजीएक्स के साथ आवश्यकता को लागू करने में कामयाब रहा! – Egi