2012-01-19 14 views
8

जब मुझे एंटरप्राइज़ अनुभाग में स्थित एक पर्यवेक्षक में एक फ़ंक्शन को फिर से लिखना होगा, तो यह config.xml पर थोड़ा सा कैसे दिखता है।पुनर्मुद्रण Magento गिफ्ट कार्ड पर्यवेक्षक समारोह

क्या ऐसा कुछ है?

<global> 
    <models> 
     <enterprise> 
      <rewrite> 
       <giftcard>Custom_GiftCard_Model_Observer</giftcard> 
      </rewrite> 
     </enterprise> 
    </models> 
</global> 

मेरी कक्षा पालन घोषित किया जाता है: वर्ग Custom_GiftCard_Model_Observer फैली Enterprise_GiftCard_Model_Observer { ..... }

उत्तर

17

मैं इस समय एक उद्यम विकास पर्यावरण सेटअप नहीं है, तो यह अपरीक्षित है , लेकिन यह वर्णित के रूप में काम करना चाहिए।

आप

app/code/core/Enterprise/GiftCard/etc/config.xml 

में उपहार कार्ड विन्यास को देखें, तो आप के बारे में grep और enterprise_giftcard/observer के एक वर्ग उर्फ ​​साथ उपहार कार्ड पर्यवेक्षक के लिए वर्ग उर्फ ​​की खोज

<class>enterprise_giftcard/observer</class> 

तो, कर सकते हैं enterprise_giftcard का मॉडल समूह का नाम है, और observer का मॉडल क्लास नाम है।

अपने मॉड्यूल के विन्यास फाइल में, पहले आप मॉडल विन्यास के लिए एक क्षेत्र

<global> 
    <models> 

    </models> 
</global> 

तब पैदा हो जाएगी, तो आप वर्ग आप को फिर से लिखने के लिए चाहते हैं के समूह का नाम जोड़ देंगे, enterprise_giftcard

<global> 
    <models> 
     <enterprise_giftcard> 
     </enterprise_giftcard> 
    </models> 
</global> 

उसके बाद, आप कह रही है कि आप इस समूह में एक भी वर्ग को फिर से लिखने के लिए चाहते हैं एक नोड जोड़ देंगे

<global> 
    <models> 
     <enterprise_giftcard> 
      <rewrite> 
      </rewrite> 
     </enterprise_giftcard> 
    </models> 
</global> 
,210

The, आप, एक नोड समूह आप के पुनर्लेखन के लिए इच्छा में जो वर्ग का संकेत जोड़ने वर्ग उर्फ ​​की नाम वाले हिस्से का उपयोग कर दूँगा (observer)

<global> 
    <models> 
     <enterprise_giftcard> 
      <rewrite> 
       <observer></observer> 
      </rewrite> 
     </enterprise_giftcard> 
    </models> 
</global> 

और अंत में, इस नोड के भीतर, आप जोड़ देंगे एक टेक्स्ट नोड जो आपकी नई कक्षा का नाम है।

<global> 
    <models> 
     <enterprise_giftcard> 
      <rewrite> 
       <observer>Custom_GiftCard_Model_Observer</observer> 
      </rewrite> 
     </enterprise_giftcard> 
    </models> 
</global> 

आप पर्यवेक्षक सीधे instantiating, और अपने वर्ग के नाम

$model = Mage::getModel('enterprise_giftcard/observer'); 
var_dump(get_class($model)); 
+0

खैर वर्णन जाँच मैं उर अनुयायी हूँ द्वारा आपका रीराइट परीक्षण कर सकते हैं। त्वरित प्रतिक्रिया के लिए – Gowri

+0

धन्यवाद। जल्दी से इसे आजमाएगा। – ShaunOReilly

+0

यह काम किया, धन्यवाद। मैं अपने बालों को खींच रहा था, क्योंकि मैं मूल बातें भूल गया था! – ShaunOReilly

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