मेरे पर्यवेक्षक समारोह में, मुझे इस तरह घटना से गुज़रा एक चर मिलता है:
public function observerFunc(Varien_Event_Observer $observer)
{
$sth = $observer->getEvent()->getSth();
}
यदि sth
कोई वस्तु है, तो मैं उस पर तरीकों को कॉल करके इसे बदल सकता हूं। लेकिन sth
अगर यह एक साधारण स्ट्रिंग है तो मैं कैसे बदल सकता हूं ? मैंने सफलता के बिना निम्नलिखित की कोशिश की:
public function observerFunc(Varien_Event_Observer $observer)
{
$sth = $observer->getEvent()->getSth();
$observer->getEvent()->setSth('test');
$observer->setSth('test');
}
मैंने अभी सीखा कि कुछ ईवेंट एक ट्रांसपोर्ट ऑब्जेक्ट भी पास करते हैं जिसमें स्ट्रिंग को बदला जा सकता है (धन्यवाद एलेक्स ), लेकिन इवेंट page_block_html_topmenu_gethtml_after
नहीं होता है। तो मै क्या कर सकता हूँ?
सवाल में घटना इस तरह से भेजा जाता है और मैं $ html को बदलना चाहता हूं:
$html = $this->_getHtml($this->_menu, $childrenWrapClass);
Mage::dispatchEvent('page_block_html_topmenu_gethtml_after', array(
'menu' => $this->_menu,
'html' => $html
));