2011-03-11 15 views
37

के साथ मौजूदा एएसपी.नेट एमवीसी अनुप्रयोग को एकीकृत करें मेरे पास ऑर्चर्ड सीएमएस है और मैं इसके साथ अपनी एमवीसी साइट को एकीकृत करना चाहता हूं। क्या कोई मुझे बता सकता है कि यह कैसे करें?ऑर्चर्ड सीएमएस

उत्तर

95

यह इस बात पर निर्भर करता है कि आपका एमवीसी ऐप कितना जटिल है, लेकिन ज्यादातर मामलों में यह कठोर है। ऑर्चर्ड मॉड्यूल में अपनी मौजूदा साइट को लपेटना सबसे आसान तरीका है। एक मॉड्यूल लिखना here वर्णित है। ये आवश्यक कदम हैं:

  1. .csproj फ़ाइल के साथ ~/Orchard.Web/मॉड्यूल के तहत एक उप-निर्देशिका के लिए अपनी साइट को कॉपी ताकि .csproj फ़ाइल आपके आवेदन जड़ में होना चाहिए (उदाहरण के लिए ~।/Orchard.Web/Modules/MyApplication/MyApplication.csproj)
  2. आपके ऐप की रूट में एक मॉड्यूल.txt मैनिफेस्ट फ़ाइल बनाएं। यह छोटी फ़ाइल आपके आवेदन का वर्णन करती है - इसका वाक्यविन्यास here
  3. उपयुक्त मार्ग सेट करें ताकि मौजूदा नियंत्रकों के कार्यों को मारा जा सके। यह उपरोक्त आलेख में भी वर्णित है। डिफ़ॉल्ट रूप से, आपके एप्लिकेशन यूआरएल/MyAplication/नियंत्रक/एक्शन की तरह दिखेगा - आप अपनी इच्छानुसार इसे बदलने के लिए स्वतंत्र हैं। सावधान रहें, हालांकि मौजूदा मार्गों में हस्तक्षेप न करें, उदाहरण के लिए।/व्यवस्थापक,/उपयोगकर्ता और इतने पर। आपके द्वारा निर्दिष्ट मार्गों में उच्च प्राथमिकता है और प्रत्येक एक्सिसिटिंग वाले लोगों को ओवरराइड कर देगा। बीटीडब्ल्यू - क्षेत्र नाम, जहां आवश्यक हो, आपके आवेदन का नाम होगा (उदाहरण के लिए MyAplication)
  4. ऑर्चर्ड चलाएं और मॉड्यूल/फीचर्स एडमिन मेनू में अपने एप्लिकेशन को सक्षम करें।
  5. web.config फ़ाइल में आवश्यक परिवर्तन जोड़ें।

याद रखें कि ऑर्चर्ड एएसपी.नेट एमवीसी 4 पर आधारित है और रेजर व्यू इंजन का उपयोग करता है। यदि आप किसी अन्य व्यू इंजन का उपयोग करते हैं, तो आपको इसे web.config फ़ाइल में उचित रूप से निर्दिष्ट करना होगा।

+4

क्या आप पुरानी साइट के साथ उपयोगकर्ता प्रमाणीकरण को संभालने के तरीके पर टिप्पणी कर सकते हैं? (क्या वे तरफ से मौजूद हो सकते हैं?) – ccook

+0

@PiotrSzmyd, चरण काम करता है। लेकिन मुझे एक छोटी सी समस्या का सामना करना पड़ रहा है। _Layout.cshtml - यह एमवीसी भाग के विचारों के लिए लेआउट पृष्ठ है। लेकिन मैं प्रत्येक व्यू फ़ाइल में _Layout फ़ाइल के पथ का उल्लेख करने में असमर्थ हूं। एमवीसी में हम इस लेआउट = "~/व्यू/साझा/_Layout.cshtml" जैसे लिख सकते हैं; लेकिन ऐसा लगता है कि बाग नाम का गलत व्याख्या कर रहा है। यह पूरी स्ट्रिंग को फाइल के नाम के रूप में देख रहा है! इसके अलावा जब मैं लिखता हूं: लेआउट = "_Layout.cshtml"; ऑर्चर्ड दृश्य/साझा फ़ोल्डर में नहीं देख रहा है। यह _Layout.cshtml फ़ाइल को दृश्य फ़ाइल के समान फ़ोल्डर में मौजूद होने की अपेक्षा करता है! कोई कामकाज? – Rahatur

+15

मैं अपने आवेदन में ऑर्चर्ड सीएमएस को एकीकृत करना चाहता हूं। ऑर्चर्ड सीएमएस में मेरे आवेदन को एकीकृत नहीं करें। –

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