Яка остання подія надсилається перед тим, як вміст надсилається до браузера?


11

Мені потрібно встановити або оновити файл cookie, але я хочу переконатися, що вся (або якнайбільше) обробка запиту відбувається до запуску мого коду генерації файлів cookie. тобто, якщо користувач входить у систему, я хочу переконатися, що обробка входу відбулася до запуску мого коду, або якщо користувач щось додав у свій кошик, я хочу знати, що перша обробка кошика виконується спочатку.

Чи є події, які надсилаються безпосередньо перед тим, як відповідь надсилається до браузера?

Відповіді:


11

Остання подія, відправлена ​​в Magento 1.x до надання вмісту, - це

controller_front_send_response_after

Якщо немає додаткових вимог до даних спостерігачів, які вам знадобляться, ця повинна бути ідеальною для вас.


3
Насправді "controller_front_send_response_before" виглядає як те, що мені потрібно. Дякуємо, що вказали на мене в правильному напрямку!
Джим Охаллоран

8

Зручний трюк, щоб знайти події, запущені під час запиту / дії сторінки, - тимчасово відредагувати додаток / Mage.php та виписати події, запущені у var / log / system.log

 public static function dispatchEvent($name, array $data = array())
    {
        Varien_Profiler::start('DISPATCH EVENT:'.$name);
        $result = self::app()->dispatchEvent($name, $data);
        Varien_Profiler::stop('DISPATCH EVENT:'.$name);
        return $result;
    }

до

public static function dispatchEvent($name, array $data = array())
    {
        if(mage::getIsDeveloperMode()) {
           mage::log($name);
        }
        Varien_Profiler::start('DISPATCH EVENT:'.$name);
        $result = self::app()->dispatchEvent($name, $data);
        Varien_Profiler::stop('DISPATCH EVENT:'.$name);
        return $result;
    }

а потім обернути файл журналу. Я вважав цей метод надзвичайно корисним і заощадив багато часу на полюванні для цього невловимого заходу.

Природно, слід негайно видалити його, оскільки ви не хочете вводити змінені основні файли. Я запускаю його до чека розробника, про всяк випадок.


2
Ви також можете ввімкнути Profiler, він надає вичерпну інформацію про те, що відбувається при завантаженні сторінки. Усі викликані події також перегукуються там.
Рік Куйперс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.