मॉड्यूल में एक कस्टम हेल्पर क्लास बनाना


24

मैंने एक नया मॉड्यूल बनाया है test_helperऔर मैं इस मॉड्यूल में एक सहायक वर्ग बनाना चाहता हूं ताकि मैं अपनी साइट पर कॉल किए जाने वाले कस्टम फ़ंक्शन जोड़ सकूं।

हालाँकि मुझे ऐसा करने के बारे में कोई उदाहरण नहीं मिल रहा है। मुझे लगता है कि मुझे विन्यास में कुछ अतिरिक्त xml बनाना होगा और एक अन्य फाइल को विज्ञापन देना होगा जो एक आधार सहायक का विस्तार करता है, लेकिन मुझे निर्माण करने के लिए कोई उदाहरण नहीं मिला है।

जवाबों:


34

आपका मॉड्यूल नामकरण सम्मेलन काफी भ्रामक है - आप मॉड्यूल को स्वयं सहायक कह रहे हैं? समझाने के उद्देश्य से, मैं आपके मॉड्यूल को कॉल करना चुन रहा हूंmyname_mymodule

अपने मॉड्यूल में ./app/code/community/MyName/MyModule/etc/config.xml, <global>टैग के भीतर

<helpers>
  <mymodule>
      <class>MyName_MyModule_Helper</class>
  </mymodule>
</helpers>

फिर फाइल बनाएं ./app/code/community/MyName/MyModule/Helper/Data.php

<?php

class MyName_MyModule_Helper_Data extends Mage_Core_Helper_Abstract{

}

फिर उस मॉड्यूल को कॉल करने के लिए, आप उपयोग करेंगे

$helper = Mage::helper('mymodule');

9

एक्सटेंशन निर्देशिका में और वहाँ एक फ़ाइल में एक निर्देशिका हेल्पर जोड़ें Data.php

class Test_Helper_Helper_Data extends Mage_Core_Helper_Abstract {

  public function yourFunction() {
     ...
     your code here
     ...
  } 

}

अब आप इसके जरिए कॉल कर सकते हैं

Mage::helper('test/helper')->yourFunction();

अपने में निम्न भी जोड़ें config.xml

...
<global>
    ...
    <helpers>
        <[extension name]>
            <class>[Namespace]_[extension name]_Helper</class>
        </[extension name]>
    </helpers>
    ...
</global>
...

आप दोनों को बहुत-बहुत धन्यवाद, यह जानकारी मुझे मिल रही थी और मैं इसे अंत में काम करने में सक्षम था। मैं वास्तव में इसे test_helper नहीं कह रहा हूं, जो मेरे लिए मेरे लिटले टेस्ट ब्लॉक पर सामान के माध्यम से जाने के लिए था, लेकिन हाँ गूंगा विचार इसे सहायक कह रहा है = पी
क्रिस मॉरिस

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