2012-05-25 6 views
6

django-cms हमेशा प्रारंभ/लैंडिंग पृष्ठ के रूप में शीर्ष-पृष्ठ का उपयोग करता है। अब मैं एक नेविगेशन रखना चाहता हूं जो लैंडिंग पृष्ठ होने के लिए foo-home-bar और घर जैसा दिखता है।प्रारंभ पृष्ठ चुनें django-cms

एक तरीका डमी पेज जोड़ने/जो घर पर रीडायरेक्ट करना होगा, लेकिन यह मेरे लिए थोड़ा कच्चा लगता है। क्या कोई बेहतर समाधान है? मुझे सीएमएस के कोड को बदलने में कोई फर्क नहीं पड़ता।

उत्तर

3

रीडायरेक्ट करने वाले पृष्ठ को बनाने के बजाय सबसे आसान तरीका केवल django के रीडायरेक्ट जेनेरिक व्यू का उपयोग करना है। अपने शीर्ष स्तर में

सेट यह urls.py

url(r'^$', RedirectView.as_view(url='/home/')), 

और पाठ्यक्रम की शुरुआत में from django.views.generic.base import RedirectView आयात जोड़ सकते हैं और आप पूरी तरह से तैयार किया जाना चाहिए।

('^$' केवल रूट यूआरएल और रीडायरेक्ट व्यू को रीडायरेक्ट करता है जहां भी आप चाहते हैं। मैं इसे स्वयं इस्तेमाल करने के बारे में कुछ अनिश्चित था, लेकिन मैंने देखा कि बहुत सी प्रमुख वेबसाइटें रीडायरेक्ट कर रही हैं जब आप उनकी साइट पर जाते हैं ...)

1

पहला पृष्ठ जो आप बनाते हैं वह होम पेज लगता है, बस आवश्यकतानुसार अन्य रूट पेज जोड़ें और उन पर नेविगेशन सक्षम करें। यही है जो मैने किया है।

हमारा पहला पृष्ठ परीक्षण था, और फिर कुछ बच्चे पृष्ठ। व्यवस्थापक पृष्ठ में आप बच्चे/अभिभावक आदेश को बदलने के लिए चारों ओर पृष्ठों को क्लिक और खींच सकते हैं। हम घर पर परीक्षण का नाम बदलते हैं और बच्चे के पृष्ठों को दूसरे रूट पेज पर स्थानांतरित कर देते हैं।

आप मेन्यू/मेनू.html में टेम्पलेट बनाकर डिफ़ॉल्ट मेनू को ओवरराइड भी कर सकते हैं, वहां आप विवरणों में कुछ जोड़कर ऑर्डर ओवरराइड कर सकते हैं। आप भी अपनी base.html तरह मेनू कुछ होने में यह हार्डकोड सकता है: <ul id=menu> <li><a href="/foo/>foo></a></li> <li><a href="/">Home</a></li> {% show_menu %} <ul>

और बस बार और अन्य पृष्ठों आप नेविगेशन में चाहता था, लेकिन foo या घर नहीं है।

मुखपृष्ठ पर एक आइकन है कि अन्य पृष्ठ मुझे लगता है कि रूट पेज को इंगित नहीं करते हैं।

0

cms_page तालिका में निम्नतम क्रमांकित tree_id वाला पृष्ठ होम पेज है। यह आमतौर पर आपके द्वारा बनाए गए पहले पृष्ठ होंगे। यदि आप अपना होम पेज एक अलग पृष्ठ बनाना चाहते हैं, तो आप अपने डेटाबेस में वृक्ष_आईडी मान मैन्युअल रूप से बदल सकते हैं (लेकिन दुर्भाग्य से व्यवस्थापक का उपयोग करके नहीं।)

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