2012-06-25 13 views
6

क्या कोई इस बारे में कुछ विचार दे सकता है कि यह कैसे किया जा सकता है? यह बहुत सरल और मूलभूत हो सकता है, लेकिन मैं इसे समझ नहीं पाया।एसडीएल ट्रिडियन में कीवर्ड पथ

मेरी आवश्यकता है।

मैं बच्चे कीवर्ड बी के साथ एक वर्ग एक है और बी एक और बाल कीवर्ड सी

मैं अपने घटक टेम्पलेट में चयनित कीवर्ड के सटीक पथ प्राप्त करना चाहते है, कहते हैं उदाहरण के लिए, उपयोगकर्ता कीवर्ड सी का चयन करता है, मुझे ए \ बी \ सी जैसे पथ के साथ मूल्य की आवश्यकता है और सी के रूप में नहीं बल्कि ट्रिडियन हमेशा मुझे सी के रूप में मान देता है और ए \ B \ C के रूप में नहीं। घटक स्कीमा कीवर्ड का चयन करने के लिए "वृक्ष" दृश्य का उपयोग कर रहा है।

क्या मुझे इसे संभालने के लिए dreamweaver कस्टम फ़ंक्शन लिखना चाहिए? या इसके लिए कुछ हैंडलर के साथ ट्रिडियन आता है?

किसी भी मदद की अत्यधिक सराहना की जाएगी। धन्यवाद!

धन्यवाद, केके

उत्तर

5

एक वर्ग के अंतर्गत कीवर्ड अद्वितीय हैं, तो Tridion सुरक्षित रूप से उनके नाम से उन्हें का उल्लेख कर सकते (और/या उनके पाठ्यक्रम के टीसीएम URI)। और चूंकि किसी कीवर्ड में कई माता-पिता हो सकते हैं, इसलिए रूट से आपके कीवर्ड तक एक भी पथ नहीं हो सकता है।

श्रेणी एक पेड़ के रूप में प्रतिनिधित्व किया जा सकता है अपनी स्थिति में हैं, तो आप निश्चित रूप से प्रत्येक कीवर्ड के लिए एक एकल पथ निर्माण कर सकते हैं। उस स्थिति में आपको कुछ (सी #) कोड की आवश्यकता होगी जो माता-पिता अक्ष को चलता है और नामों को जोड़ता है। एक TBB कि आप डीडब्ल्यूटी या एक कस्टम Dreamweaver समारोह में

  • से पहले टेम्प्लेट में डाल में

    1. : आप इस कोड या तो डाल सकते हैं।

    किसी भी तरह से ठीक काम करेंगे।

  • +0

    मुझे बाहर मदद करने के लिए फ्रैंक धन्यवाद। यह वास्तव में एक मूल्यवान सुझाव है! आपका बहुत बहुत धन्यवाद! – Krishnakumar

    8

    जैसा कि आपने अभी पाया है, ट्रिडियन कीवर्ड पदानुक्रम "नकली" है - कीवर्ड को एक श्रेणी सूची के रूप में संग्रहीत किया जाता है, न कि पदानुक्रमित सूची (जैसे फ़ोल्डर्स के साथ)। माता-पिता और बच्चों के कीवर्ड के बारे में जानकारी कीवर्ड में ही संग्रहीत की जाती है।

    इस के लिए समाधान कर रहे हैं - निश्चित रूप से, उदाहरण के लिए यदि आप एक सी # TBB में इस का उपयोग कर सकते हैं:

    Keyword keyword = new Keyword(new TcmUri("tcm:28-3368-1024"), session); 
    string hierarchy = keyword.Title; 
    bool done = false; 
    while(!done) 
    { 
        if (keyword.ParentKeywords.Count > 0) 
        { 
         foreach (Keyword k in keyword.ParentKeywords) 
         { 
          hierarchy = k.Title + " > " + hierarchy; 
         } 
         keyword = keyword.ParentKeywords[0]; 
        } 
        else 
         done = true; 
    } 
    // Include Category 
    hierarchy = keyword.OrganizationalItem.Title + " > " + hierarchy; 
    

    संपादित करें: रिकर्सिवली पदानुक्रम "ऊपर जाना" पर अपडेट किया गया। हालांकि किसी कीवर्ड के कई माता-पिता हो सकता है, मुझे लगता है कि आप पर निर्भर छोड़ देंगे ठीक करने के लिए ...

    +0

    अपने सुझाव साझा करने के लिए Nuno धन्यवाद। यह वास्तव में मदद करता है! – Krishnakumar

    +0

    तो Nuno का जवाब आप अपनी समस्या को हल में मदद की, तो कृपया उसे अपनी बाईं तरफ के बड़े जाँच चिह्न क्लिक करके स्वीकार करते हैं। –

    संबंधित मुद्दे