2012-08-22 36 views
6

क्या किसी को भी साझा करने के लिए साइटकोर में __Renderings फ़ील्ड सेट करने में अनुभव है? हम एक बहु साइट-बहु भाषा समाधान बना रहे हैं और विभिन्न भाषाओं में (उप) लेआउट अलग-अलग होने की आवश्यकता होगी। उदाहरण के लिए, अंग्रेजी भाषा साइट में एक उपन्यास हो सकता है कि एक ही आइटम के स्वीडिश संस्करण में नहीं है और सभी प्रस्तुति घटकों में हमेशा अलग-अलग भाषाओं के लिए समान डेटा स्रोत नहीं होता है।सेटिंग __Renderings फ़ील्ड को साइटकोर परिणामों में साझा नहीं किया गया है?

इसका कुछ आसान समाधान फ़ील्ड पर /sitecore/templates/System/Templates/Sections/Layout template पर "साझा" को अनचेक करना होगा, लेकिन क्या इसका कोई अन्य परिणाम है? या क्या इस आवश्यकता को संभालने का एक बेहतर तरीका है?

+1

एक बड़ी कमी यह है कि आप एक साइटकोर सिस्टम टेम्पलेट को संशोधित कर रहे हैं जो समर्थित नहीं है। यह भविष्य के उन्नयन को और अधिक कठिन बना देगा। –

+0

आपके भाषा उदाहरण के अतिरिक्त, आइटम संस्करणों के बीच अलग-अलग प्रस्तुति के लिए एक उपयोग केस भी है। उदाहरण के लिए, संस्करण 1 और 2 के बीच प्रतिपादन पर डेटास्रोत बदलना, या बस प्रस्तुतिकरण के क्रम क्रम को बदलना। यह तब संभव नहीं है जब "साझा" चेक किया गया हो। –

उत्तर

2

इस तरह से साइटकोर के डिफ़ॉल्ट व्यवहार को संशोधित करना आम तौर पर एक अच्छा विचार नहीं है। यह उन लोगों के लिए पारदर्शी नहीं है जो भविष्य में सिस्टम के साथ काम कर सकते हैं और इससे अप्रत्याशित परिणाम हो सकते हैं।

इमो, (उप) लेआउट के अंदर स्विच करना बेहतर है, इसलिए यह वर्तमान भाषा के आधार पर अलग-अलग फ़ाइलों को लोड करता है।

परिणाम के लिए। जब आप _Renderings फ़ील्ड को साझा नहीं करते हैं तो यह काम करेगा। आप प्रत्येक भाषा संस्करण के लिए अलग-अलग प्रस्तुति विवरण सेट करने में सक्षम होंगे। नतीजा यह है कि अब आपको इसे प्रत्येक भाषा संस्करण के लिए सेट करना होगा ... इसलिए इसे प्रबंधित करना कम आसान होगा।

+0

मैं इसे साइटकोर से प्रबंधित करना चाहता हूं, कोड से नहीं। मैं जो हासिल करना चाहता हूं वह है कि एक ही वस्तु को भाषा के आधार पर विभिन्न sublayouts रखना है, या प्रति भाषा अलग-अलग sublayouts क्रमबद्ध करें। प्रत्येक sublayout भाषा के आधार पर एक अलग डेटा स्रोत भी हो सकता है। स्वीडिश के रूप में अंग्रेजी में एक ही sublayouts नहीं हो सकता है। साथ ही, इसे पृष्ठ संपादक का उपयोग करके संपादन योग्य होना चाहिए। – andreasordell

1

मैं इसके बजाय साइटकोर के डिवाइस का उपयोग करूंगा। प्रत्येक भाषा के लिए आप एक साइट को परिभाषित कर सकते हैं और प्रत्येक साइट पर अपना स्वयं का डिवाइस हो सकता है। यदि आपके पास प्रत्येक भाषा के लिए एक डोमेन नाम है (www.site.com, www.site.de, www.site.fr आदि ...)

यदि आपके पास एक है तो यह बॉक्स ऑफ-द-बॉक्स होगा साइट (एक होस्ट नाम) सभी भाषाओं के लिए, आप डिवाइस को httpRequestBegin पाइपलाइन प्रोसेसर के साथ स्विच कर सकते हैं।

यह आलेख, http://briancaos.wordpress.com/2012/04/12/identifying-mobile-devices-in-sitecore/, वर्णन करता है कि मोबाइल उपकरणों की पहचान कैसे करें। भाषा के आधार पर उपकरणों को स्विच करने के लिए तर्क को फिर से लिखना मुश्किल नहीं है।

जब आप प्रत्येक भाषा के लिए अलग-अलग डिवाइस परिभाषित करते हैं तो आप बस अपनी भाषा से मेल खाने वाले डिवाइस पर रेंडरिंग डालते हैं। और आपके पास अभी भी उन सभी पृष्ठों के लिए फ़ॉलबैक डिवाइस की संभावना है जहां सभी प्रस्तुतिकरण समान हैं।

साइटकोर डिफ़ॉल्ट व्यवहार को संशोधित करना अब के लिए काम कर सकता है, लेकिन साइटकोर प्लेटफॉर्म का उपयोग और विस्तार करना एक बेहतर तरीका है।

+0

यह दिलचस्प है! हालांकि मुझे यकीन नहीं है कि साइटकोर पेज संपादक का उपयोग करके वेब संपादकों के लिए यह कितना आसान होगा। मैं इस और अधिक देख लूँगा! – andreasordell

+0

5 भाषाओं वाली साइट के लिए, जब आप एक नया आम घटक जोड़ते हैं, तो आपको इसे सभी 5 भाषाओं में मैन्युअल रूप से जोड़ना होगा। इसके लिए बहुत सारे अतिरिक्त काम और परीक्षण की आवश्यकता होगी। मुझे लगता है कि यह इस बात पर निर्भर करता है कि आपकी सामग्री संरचना का प्रतिशत किस प्रकार आम है। यदि यह वैसे भी अलग है, तो यह ठीक हो सकता है। – GeekyMonkey

5

भाषा, देश के मूल आदि जैसे कुछ के आधार पर दृश्य तत्वों के चारों ओर स्वैप करने की आवश्यकता होने पर मेरी अपनी प्राथमिकता साइट स्रोतों को स्वैप करने और प्रस्तुति को उस तरीके से बदलने के लिए संपादन करने के लिए साइटकोर के वैयक्तिकरण नियमों का उपयोग करना है। इसमें साइटकोर के डिफ़ॉल्ट व्यवहार को बदलने में शामिल नहीं है और आपको अंतर्निहित साइटकोर कार्यक्षमता में टैप करने की अनुमति देता है।

यदि आपके अलग-अलग 'sublayouts' वास्तव में विभिन्न वैयक्तिकरण नियमों द्वारा डेटा स्रोतों को खींचा जा रहा है, तो आप इसे ओएमएस/डीएमएस के साथ कॉन्फ़िगर कर सकते हैं और वर्तमान स्थिति के लिए आवश्यक घटकों को प्रस्तुत करने के लिए साइटकोर इंजन पर भरोसा कर सकते हैं। प्रदर्शन के लिए, डीएमएस के सबसे हाल के संस्करण के साथ जाना शायद सबसे अच्छा है (मुझे विश्वास है कि 6.5 अपडेट 5 अब अनुशंसित रिलीज है)।

+0

डीएमएस का उपयोग निश्चित रूप से एक अच्छा विकल्प हो सकता है। उपयोगकर्ता को पृष्ठ संपादक के माध्यम से संपादित करने की अनुमति भी देता है। बुनियादी उपयोगकर्ताओं के लिए निजीकरण का उपयोग करने के तरीके को समझने के लिए थोड़ा जटिल हो सकता है। डेटा सॉस बदलना एक महत्वपूर्ण पहलू है क्योंकि सभी वस्तुओं में सभी भाषाएं नहीं हैं। क्या sc_lang पैरामीटर वैयक्तिकरण के लिए उपलब्ध है? – andreasordell

+0

यदि आप किसी घटक को वैयक्तिकृत करते समय नियम सेट संपादक खोलते हैं, तो आप उपलब्ध शर्तों/नियमों की बड़ी सूची देख सकते हैं। "आइटम" के लिए अनुभागों में से एक, "जहां आइटम भाषा मूल्य की तुलना करता है" के नियम के साथ। साइट्स के साथ-साथ व्यक्तित्व के नियम भी हैं। –

+0

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

1

हमने वास्तव में यह किया है, और अधिकांश भाग के लिए कुछ दुष्प्रभाव हैं। असल में, यह एकमात्र तरीका है जिसे आप __ रेंडरिंग परिवर्तनों पर वर्कफ़्लो प्राप्त करने जा रहे हैं। हम इसे Partial Language Fallback के साथ संयोजित करते हैं ताकि भाषाएं अंग्रेजी से मूल्य प्राप्त कर सकें।हालांकि सावधान रहें, जैसे कि कोई आइटम क्लोन किया गया है, यह हमेशा मानक मान/फॉलबैक के बजाय क्लोन से अपना डिफ़ॉल्ट मान खींच लेगा।