2013-07-15 6 views
5

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

यह link इस विषय पर मैं सब कुछ पा सकता हूं।

<%-- theme only (theme-js + css) --%> 
<cq:includeClientLib theme="cq.collab.calendar, cq.security" /> 

इस टैग को कैसे सीक्यू निर्धारित करेंगे क्या ग्राहक Libs में खींचने के लिए इस्तेमाल किया जा करना हो तो: यहाँ नमूना कोड का एक अंश है? क्या यह स्ट्रिंग [] प्रकार की थीम प्रॉपर्टी की तलाश करता है?

या यह/etc/designs अनुभाग में एक निश्चित निर्देशिका संरचना की तलाश करता है?

या क्या यह श्रेणियों में पारित होता है और अंत में विषय-जेएस जोड़ता है?

cq.collab.calendar.theme-js 

या यूआरएल के माध्यम से थीम का आह्वान किया गया है? दूसरे शब्दों में, "विषय" शब्द, इस मामले में, एक टोकन है जिसे एक यूआरएल लागू विषय से चयनकर्ता के साथ प्रतिस्थापित किया गया है?

उत्तर

8

ग्राहक पुस्तकालय एक सीक में रहते हैं: क्लाइंट लाइब्रेरी फ़ोल्डर फ़ोल्डर। इस फ़ोल्डर में श्रेणी नामक एक संपत्ति है।

<cq:includeClientLib theme="cq.collab.calendar, cq.security" /> 

शामिल जब यह कहा जाता है, यह किसी भी सीक्यू की तलाश में है: श्रेणी cq.collab.calendar या cq.security साथ ClientLibraryFolder निम्न उदाहरण में, cq.collab.calendar और cq.security श्रेणियां हैं इसे सौंपा गया। थीम प्रॉपर्टी का उपयोग करने वाले क्लाइंट क्लाइंट लाइब्रेरीफोल्डर के थीम फ़ोल्डर में रहने वाले क्लाइंटलिब्स के सीएसएस और जावास्क्रिप्ट दोनों को जोड़ता है। यदि आप अपने पेज स्रोत को देखना चाहते थे, तो इन्हें अपने स्वयं के सीएसएस और जेएस फाइलों में जोड़ा जाएगा। उदाहरण के लिए, मैं के अंतर्गत निम्नलिखित संरचना बनाई geometrixx clientLibary:

geometrixx 
    clientlibs 
     themes 
      myTheme (clientLibray) 
       css.txt 
       myCSS.css 
       js.txt 
       myJS.js 

, तो आप इस clientlib साथ विषय संपत्ति का उपयोग आप एक myTheme.css और myTheme.js अपने स्रोत/नेटवर्क टैब में दिखा फ़ाइल मिलेगा।

थीम्ड ध्वज थीम समावेशन को बंद और बंद करने का एक तरीका है। निम्नलिखित सीक्यू: विषयों में निर्देशिका सहित सामान सहित क्लाइंट लाइब्रेरी में सभी सीएसएस शामिल होंगे।

<cq:includeClientLib css="apps.geometrixx-main" /> 

हालांकि, अगर मैं थीम पर आधारित झंडा जोड़ सकते हैं और गलत पर यह निर्धारित करते हैं, विषय निर्देशिका के अंतर्गत कुछ भी बाहर रखा गया है:

<cq:includeClientLib css="apps.geometrixx-main" themed="false" /> 

तो उस स्थिति में, myTheme.css दिखाई नहीं होगा। ध्यान देने योग्य एक बात यह है कि थीम्ड ध्वज, केवल "शुद्ध सीएसएस और जेएस में शामिल है" श्रेणियों और थीम गुणों के साथ काम नहीं करेगा। What exactly does currentDesign.writeCssincludes include?

+0

कैसे "थीम" संपत्ति खेलने में तो आता है: "थीम:।। एक ध्वज इंगित करता है कि अगर केवल थीम या गैर थीम पर आधारित पुस्तकालयों शामिल किया जाना चाहिए यदि छोड़ा जाता है, दोनों सेट शामिल किए गए हैं केवल शुद्ध जे एस या सीएसएस शामिल पर लागू होता है (श्रेणियों या विषय के लिए नहीं)। " यदि विषय बस जेएस + सीएसएस श्रेणियों में बस शामिल है तो "थीम्ड या गैर-थीमाधारित" क्या संदर्भित करता है? ऐसा लगता है कि थीम समर्थन का कुछ प्रकार है लेकिन शायद मैं इसमें बहुत कुछ पढ़ रहा हूं। – jedatu

+0

ठीक है, थोड़ा और अनुसंधान और परीक्षण किया और मेरा जवाब संशोधित किया। – Woodifer

+0

तो भले ही myTheme में "apps.geometrixx-main" श्रेणी है, तब भी शामिल नहीं किया जाएगा जब थीम्ड = झूठी क्योंकि उसके मूल फ़ोल्डर को "थीम" कहा जाता है? अतिरिक्त जानकारी के लिए – jedatu

1

यह उल्लेख किया गया है कि विषय से अनुरोध खुदाई एक अंत में पता चला यह forceTheme नाम "अनुरोध पैरामीटर से यह लाने की कोशिश करता है एक छोटे से किया था प्राप्त किया गया है:

इस सवाल का जवाब इस पर एक सा हो जाता है "

private String getDefaultThemeName(SlingHttpServletRequest request) 
    { 
    String theme = request.getParameter("forceTheme"); 
    if (theme == null) { 
     theme = this.defaultUserThemeName; 
    } 
    return theme; 
    } 

लेकिन आवश्यक अनुरोध .getAttribute क्योंकि क्वेरी पैरामीटर का उपयोग करके सभी अनुरोध पब पर भेजे जाएंगे।

तो अनुमान लगाएं कि इस थीम विकल्प का कोई उपयोग नहीं है।

2

"थीम" से आपका क्या मतलब है इस पर निर्भर करता है। यदि आप वर्डप्रेस, ड्रूपल इत्यादि के लिए उपयोग किया जाता है, तो उन प्रणालियों में थीम कहलाती है जिसे सीक्यू 5/एईएम में "डिज़ाइन" कहा जाता है।

डिज़ाइन सेट करने के लिए, आप पृष्ठ गुणों में "डिज़ाइनपाथ" चुनते हैं। इससे प्रभावित होगा कि प्रत्येक टेम्पलेट के लिए घटकों के बारे में जानकारी संग्रहीत की जाती है (डिज़ाइन मोड में किए गए सभी परिवर्तनों के बारे में, इस पथ के तहत संग्रहीत किए जाने वाले घटकों को किस प्रकार अनुमति दी जाती है) और सीएसएस, जेएस और गैर-डीएएम छवि संसाधनों के लिए सम्मेलन संग्रहीत किया जाता है। यह योजना लेता है, लेकिन आप एईएम/सीक्यू 5 में कोड और मार्कअप का पुनः उपयोग कर सकते हैं लेकिन डिज़ाइन को बदलकर पूरी तरह से बदलाव को बदल सकते हैं।

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