Это событие будет запущено независимо от того, включена ли FPC

му во время одного из наших недавних запусков у нас было много событий, за которыми мы наблюдали, таких как controller_action_predispatch. Как только сайт заработал, мы начали замечать, что наших наблюдателей никогда не вызывали. После небольшого исследования один из наших разработчиков нашел этот блок кода в Mage_Core_Model_App около строки 292.

if ($this->_cache->processRequest()) {
            $this->getResponse()->sendResponse();
        } else {
            $this->_initModules();
            $this->loadAreaPart(Mage_Core_Model_App_Area::AREA_GLOBAL, Mage_Core_Model_App_Area::PART_EVENTS);

            if ($this->_config->isLocalConfigLoaded()) {
                $this->_initCurrentStore($scopeCode, $scopeType);
                $this->_initRequest();
                Mage_Core_Model_Resource_Setup::applyAllDataUpdates();
            }

            $this->getFrontController()->dispatch();
        }

Как вы можете видеть, если $ this -> _ cache-> processRequest () верно, то есть, когда полный кеш страниц включен, вы никогда не попадете в рассылку. Разработчик нашел http_response_send_before, который получает вызов в любом случае, но мне кажется, что это ошибка, или вы никогда не должны использовать эти события диспетчеризации для чего-либо, если у вас включено кэширование на полную страницу. есть идеи?

Ответы на вопрос(1)

Ваш ответ на вопрос