का उपयोग कर एकल पृष्ठ डिज़ाइन मेरे पास एक क्लाइंट है जो अपनी साइट के लिए एक पृष्ठ डिज़ाइन चाहता है जहां प्रत्येक "पृष्ठ" की सामग्री जावास्क्रिप्ट का उपयोग करके दिखाया/छिपा हुआ है क्योंकि उपयोगकर्ता साइट पर नेविगेट करता है।ऑर्चर्ड सीएमएस
मुझे ऑर्चर्ड का उपयोग करके इस तक पहुंचने का सबसे अच्छा तरीका नहीं है। एक विकल्प सामग्री को एक ही पृष्ठ सामग्री आइटम पर रखना होगा, लेकिन फिर आप ऑर्चर्ड की नेविगेशन सुविधाओं का उपयोग करने की क्षमता खो देंगे और क्लाइंट को पृष्ठों के संदर्भ में प्रशासन के बारे में सोचने नहीं दे सकते।
क्या किसी के पास ऑर्चर्ड सीएमएस में इसे सर्वश्रेष्ठ तरीके से सेट करने के बारे में विचार या अनुभव हैं?
यहाँ समाधान मैं बर्ट्रेंड की सलाह के आधार पर किया जाता है:
public ActionResult Display(int id)
{
var contentItem = _contentManager.Get(id, VersionOptions.Published);
dynamic model = _contentManager.BuildDisplay(contentItem);
var ctx = _workContextAccessor.GetContext();
ctx.Layout.Metadata.Alternates.Add("Layout_Null");
return new ShapeResult(this, model);
}
मैं एक नियंत्रक के ऊपर कार्रवाई विधि युक्त के साथ एक नया मॉड्यूल बनाया। क्रिया विधि सामग्री भाग आईडी के लिए पैरामीटर लेता है। _contentManager और _workContextAccessor ऑब्जेक्ट्स को नियंत्रक में इंजेक्शन दिया जा रहा है। लेआउट.Null.cshtml व्यू बिल्कुल बनाया गया था जैसे बर्ट्रैंड ने सुझाव दिया था।
यह एक बेहद विचित्र डिजाइन है जो एसईओ और सभी ज्ञात प्रयोज्यता के सामने उड़ने लगता है। क्या यह न्यायसंगत है? –
ऐसा लगता है कि आप एक मोबाइल ऐप विकसित कर रहे हैं, है ना? jQuery मोबाइल? –
@BertrandLeRoy: मैं जरूरी नहीं असहमत हूं।क्लाइंट चाहता है (विशेष रूप से वे चाहते हैं कि मैं इस टेम्पलेट को लागू करना चाहता हूं: http://udfrance.com/dev/STUDIO8/index_black.html)। साइट सामग्री पर बहुत हल्की है और एसईओ प्राथमिक उद्देश्य नहीं है। – joshb