गतिशील रूप से एक घटक के परम को कैसे सेट करें?


9

मैं उपयोग करने वाले एक परम को पुनः प्राप्त करने के लिए:

$myparam = JComponentHelper::getParams('com_mycomponent')->get('myparam');

लेकिन एक घटक के परम को स्टोर करने की सही विधि क्या है?


मेरा मतलब है कि विकल्प बटन का उपयोग करने के अलावा
COBIZ वेबडेवलपमेंट

यदि आप विकल्प बटन का उपयोग नहीं कर रहे हैं, तो आपको वह मूल्य कैसे मिल रहा है जिसे आप स्टोर करना चाहते हैं?
डेविड फ्रिट्च

अपने प्रश्न को वास्तव में न समझें। किसी भी स्थान से, उदाहरण के लिए एक अन्य घटक नियंत्रक में, मैं कुछ अन्य घटकों के लिए एक नया मूल्य निर्धारित करना चाहूंगा।
COBIZ वेबडेवलपमेंट

आप कंपोनेंट- creator.com का उपयोग करके एक कंपोनेंट बनाने की कोशिश कर सकते हैं और उस कोड को देख सकते हैं जो आपके कंपोनेंट में पैरामीटर जोड़ते समय उत्पन्न होता है।
सोरेन बेक जेन्सन

जवाबों:


15

हमारे घटक के कई पैरामीटर बाहरी स्थितियों पर निर्भर करते हैं, इसलिए हमें समय-समय पर उन्हें कुछ रातोंरात प्रसंस्करण के साथ बदलना होगा। यहां वह कोड है जिसका हम उपयोग करते हैं (com_content के साथ उपयोग के लिए अनुकूलित)।

// Load the current component params.
$params = JComponentHelper::getParams('com_content');
// Set new value of param(s)
$params->set('show_title', 1);

// Save the parameters
$componentid = JComponentHelper::getComponent('com_content')->id;
$table = JTable::getInstance('extension');
$table->load($componentid);
$table->bind(array('params' => $params->toString()));

// check for error
if (!$table->check()) {
    echo $table->getError();
    return false;
}
// Save to database
if (!$table->store()) {
    echo $table->getError();
    return false;
}

1
धन्यवाद। यह बहुत अच्छा लग रहा है! इसलिए मैं एक मौजूदा पद्धति की अनदेखी नहीं कर रहा था, यह वास्तव में वास्तव में कुछ अतिरिक्त कोड की आवश्यकता है। जब मैंने इसका परीक्षण किया है, तो मैं आपके उत्तर को अच्छी तरह से चिह्नित करूँगा। (लेकिन जब से आप पहले से ही इस का उपयोग कर रहे हैं, यह शायद वैसे भी सही उत्तर है)
COBIZ वेबडेवलपमेंट

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