जूमला होस्टिंग में वर्तमान आइटम आईडी प्राप्त करें
अपने कस्टम घटक नियंत्रक में मैं समारोह को बचाने () की है। अंत में यह संदेश प्रदर्शित करता है और यूआरएल पर रीडायरेक्ट
मैं समस्या आ रही है निम्न कार्य करें:
कस्टम के बजाय क्षेत्र JText स्ट्रिंग से 1.Use मेनू पैरामीटर। अगर मैं समारोह के इस अंदर का उपयोग करें:
मैं नोटिस मिलता है त्रुटि:
$ संदेश अपने कस्टम मेनू एक्सएमएल फाइल में परिभाषित क्षेत्र का नाम है। अगर मैं यह देखने से सीधे कॉल, तो यह ठीक है।
2.Get सक्रिय मेनू Itemid और setRedirect अंदर इसका इस्तेमाल ()।
अगर मैं इसे इस तरह का उपयोग मैं URL में खाली Itemid मिलती है:
मैं घटकों में मेनू मापदंडों बुला के बारे में जानकारी का एक बहुत कुछ मिल गया है, लेकिन यह से कोई भी मुझे मदद की
कुछ परीक्षण के बाद, मैं इस मुद्दे को दोहराने के लिए कर रहा था:
** एक रूप एक मेनू आइटम के बिना एक दृश्य पर रीडायरेक्ट या अपेक्षाकृत इस तरह का यूआरएल के लिए स्वयं पर रीडायरेक्ट:
(इसका कोई प्रभाव नहीं देखने एक मेनू आइटम है या नहीं है, यह सिर्फ बेवकूफ जूमला मार्ग है।) **
इसलिए निम्नलिखित त्रुटि को रोकने के लिए किया जा सकता है:
1) दृश्य Joomla बैकएंड में एक मेनू आइटम के साथ लिंक किया जाना है
2) दृश्यपटल में फार्म के लिए यूआरएल होना चाहिए / मेनू उर्फ
3) रूपों कार्रवाई एक और दृश्य पर रीडायरेक्ट नहीं चाहिए, बेहतर खाली हो
4) प्रपत्र कार्य के साथ छिपा आदानों शामिल करना चाहिए
फिर अपने पद और एक आकर्षण की तरह नियंत्रक कार्यों में पुनर्निर्देशन बचाने के लिए, क्योंकि आप मेनू आइटम संदर्भ (यूआरएल) के भीतर काम कर रहे हैं।
लेकिन, यदि आप वर्तमान आइटम आईडी सहेजे बिना एक ही दृश्य को एक और दृश्य करने के लिए या JRoute के माध्यम से पुन: निर्देशित, आप मेनू आइटम संदर्भ ( "घटक / mycomponent / MyView") छोड़ देंगे।
यह जूमला में एक बहुत होता है, क्योंकि वर्तमान रूटर प्रणाली डेटाबेस में मेनू आइटम के खिलाफ दिए गए यूआरएल की जांच नहीं करता। इससे बचने के लिए आप निम्न कार्रवाई कर सकते हैं:
1) एक समारोह जो वर्तमान यूआरएल के लिए मेनू आइटम तालिका खोज करता है और आइटम आईडी / मेनू आइटम रिटर्न के साथ अपने घटक के रूटर बढ़ाएँ। (मैंने पहले भी कि पहले से ही किया है और यह काम करता है।)
2) अपने रूप है जो रूट करने के लिए जूमला में सही तरीका आइटम id कार्य और लक्ष्य दृश्य () शामिल हैं में एक छिपे हुए फ़ील्ड जोड़ें।
3) सही url पथ को "घटक / mycomponent / MyView" की तरह रीडायरेक्ट URL।
4) आप प्रत्येक दृश्य के लिए घटक पैरामीटर में फ़ॉलबैक सेट कर सकते हैं। इस घटक पैरामीटर, न कि किसी url पथ के लिए दृश्यों पर आइटम आईडी श्रृंखला होगी। View1 -> ड्रापडाउन -> का चयन करें जंजीर मेनू आइटम
$ Itemid = $ params-> get ($ mycurrentviewname);
$ मेनू- का प्रयोग न करें> getActive () करता है, तो बिल्कुल जरूरी नहीं, बेवकूफ जूमला मार्ग प्रणाली की वजह से। मैं मैन्युअल रूप से किसी भी तरह मेनू आइटम स्थापित करने के लिए सिफारिश कर रहा हूँ।
मैं कैसे ने कहा, अपने त्रुटि मार्ग की शुरुआत में कहीं है। यह बस अपने यूआरएल जो अपने रूप या एक मेनू आइटम के बिना या एक यूआरएल जो एक Itemid शामिल नहीं है के लिए एक दृश्य के लिए प्रपत्र जमा करने के बाद एक रीडायरेक्ट की ओर जाता है हो सकता है।
$ Itemid और $ संदेश के बीच अपने को बचाने के कार्य करने के लिए इस जोड़ें:
उसके बाद URL जो आपके त्रुटि संदेश देता है करने के लिए "काम = saveItemid = 101" जोड़ें। (अपने आइटम आईडी के लिए 101 बदलें!)
आप सही ढंग से अब पुनः निर्देशित किया जाना चाहिए।