Я некоторое время имею дело с Magento, и я нахожу это очень интересным и, вероятно, моим будущим выбором рабочего инструмента. Хотя у меня есть некоторые проблемы с пониманием того, что происходит. Если я вызываю www.store.com/catalog/product/view/id/2, то контроллер продукта запускается из основного модуля каталога, в котором продукт выбирается сначала методом _initProduct (), в который отправляется это событие:
Mage::dispatchEvent('catalog_controller_product_init_before', array('controller_action'=>$this));
.
Какой класс / метод вызывается? Как я понял, это должен быть метод из класса наблюдателя, который находится в папке Model и должен быть определен в файле etc / config.xml.
Некоторые из событий, определенных в config.xml, выполняются автоматически ... (почему?), Где определено событие, используемое в viewAction () из ProductController.php в модуле Каталога? Как я могу отправлять и использовать данные массива для методов наблюдателя, потому что я видел, что некоторые из них содержат этот метод: Mage :: app () -> reinitStores (), который повторно помещает коллекции хранилищ, групп и веб-сайтов, и это не просто. Я нахожу это очень мощным, и я действительно хочу знать о возможностях использования Observers и Events.