मेरे पर्यवेक्षक समारोह में, मुझे इस तरह घटना से गुज़रा एक चर मिलता है:
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
));