एक घटक दृश्य पृष्ठ में जूमला के डिफ़ॉल्ट टूलबार को जोड़ना


10

मैं जूमला 2.5 और 3. दोनों के लिए एक एमवायवी घटक विकसित कर रहा हूं। कई घटकों में मैंने देखा कि वे जूमला के डिफॉल्ट कमांड बटन जैसे कि नए, एडिट, पब्लिश, कचरा, विकल्प को अपने साइड पेज के सेटिंग्स पेज के ऊपर जोड़ रहे हैं। उदाहरण के लिए। यदि कोई घटक-> वेबलिंक्स-> लिंक पृष्ठ पर जाता है, तो मैं शीर्ष दाईं ओर उन कमांड बटन के बारे में बात कर रहा हूं।

तो मैं अपने घटक के सेटिंग पृष्ठ में उन कमांड बटन को कैसे जोड़ूं? जब क्लिक किया जाता है तो यह संबंधित कार्रवाई करता है और संबंधित दृश्य दिखाता है। उदाहरण के लिए, यदि मैं "नया" बटन क्लिक करता हूं तो यह मेरे mvc घटक के प्रवेश प्रविष्टि दृश्य को प्रदर्शित करेगा जैसा कि यह है।

तो कैसे मैं पूरी तरह से काम कर सकता है joomla के कमांड बटन मेरे घटक के सेटिंग पृष्ठ में व्यवस्थापक पक्ष में जोड़ सकता है।

जवाबों:


12

सबसे अच्छा अभ्यास addToolBar()अपने दृश्य वर्ग के अंदर विधि बनाने और फिर JToolBarHelperकमांड बटन बनाने के लिए कक्षा का उपयोग करना है:

protected function addToolBar()
{
  JToolBarHelper::addNew('yourcontroller.add');
  JToolBarHelper::editList('yourcontroller.edit');
}

तो ये आपके निर्दिष्ट नियंत्रक में टास्क / फंक्शन "ऐड" / "एडिट" कहेंगे। फिर बस $this->addToolBar()अपने व्यू की display()विधि में कॉल करें ।

संदर्भ आपके घटक के लिए एक टूलबार बनाना


मेरे पास केवल एक घटक फ़ाइल कंट्रोलर है। मेरे कंपोनेंट में है और उसके अंदर मेरे पास एक फंक्शन function add() { JRequest::setVar('view', 'entry'); JRequest::setVar('layout', 'form'); parent::display(); }है। मेरे फाइल में। html फाइल को जोड़ दिया JToolBarHelper :: addNewX ('कंट्रोलर.एडडी'); तब नया बटन दिखाई देता है लेकिन जब इसे क्लिक किया जाता है तो यह मेरे व्यू फॉर्म में नहीं जाता है, इसके बजाय url
dev-m-

छोड़ना करने की कोशिश करें controller.task-JToolBarHelper::addNewX();
दिमित्री रेकून

केवल JToolBarHelper जोड़ा गया :: addNewX (); लेकिन काम नहीं करता।
देव-मी

फिर आपको controllersनिर्देशिका के तहत एक उचित नियंत्रक बनाने की आवश्यकता है । बैकएंड क्रियाओं को
दिमित्री रेकुन

5

आपको यह सुनिश्चित करने की आवश्यकता है कि बटन प्रदर्शित करने वाला दृश्य सबमिट करने के लिए एक फ़ॉर्म है। फॉर्म का नाम adminForm होना चाहिए। फॉर्म में टास्क नाम का एक छिपा हुआ क्षेत्र और गतिशील रूप से उत्पन्न टोकन भी होना चाहिए। मैं अपने सिर के ऊपर से एपीआई को याद नहीं कर सकता, लेकिन ऐसा कुछ JHtml::_('form.token');(किसी ने इसे सही किया हो, अगर मुझसे गलती हो तो)

यह चालबाजी करते हैं।


समस्या मुझे पहले पता चली थी कि मैं adminForm.it के रूप में फॉर्म नाम का उपयोग कर रहा था। मुझे लगता है कि जूमला केस संवेदनशील है!
देव-म dev

यह जूमला की तुलना में एक जावास्क्रिप्ट चीज़ से अधिक विशिष्ट है। जब आप उन बटनों पर क्लिक करते हैं जो आप वास्तव में JS सबमिट फ़ॉर्म फ़ंक्शन को ट्रिगर कर रहे हैं, तो यदि फ़ॉर्म नहीं मिल सकता है तो यह चुपचाप विफल हो जाता है।
मैथ्यू लेनिंग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.