Magento - последнее имя события, которое выполняется после загрузки страницы - PullRequest
3 голосов
/ 21 мая 2011

В моем пользовательском модуле я установил флаг в переменной сеанса и в событии controller_action_layout_render_before, проверяя, установлен ли флаг, затем добавьте пользовательский контент.

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

Как это можно сделать.

Есть ли какое-либо событие, которое выполняется в конце, когда страница загружается?

Ответы [ 2 ]

5 голосов
/ 21 мая 2011

Событие

controller_front_send_response_after

должно работать для вас.Временное добавление некоторых записей в app/Mage.php

public static function dispatchEvent($name, array $data = array())
{   
    //Mage::Log($name);                 
    file_put_contents('/tmp/event.log',"$name\n",FILE_APPEND);    

    Varien_Profiler::start('DISPATCH EVENT:'.$name);
    $result = self::app()->dispatchEvent($name, $data);
    #$result = self::registry('events')->dispatch($name, $data);
    Varien_Profiler::stop('DISPATCH EVENT:'.$name);
    return $result;
}

может получить список событий, которые сработали для определенного запроса, что обычно достаточно для отслеживания события, которое вы ищете для себя.

3 голосов
/ 23 мая 2011

Если вы хотите хранить переменную только в течение срока действия одного запроса, вы можете рассмотреть возможность использования реестра Magento. По сути, вы вставляете значение с помощью Mage::register('some_variable_name',$variable); и извлекаете его в другом контексте в том же запросе с Mage::registry('some_variable_name');

Обратитесь к ответу @Alan Storm здесь для получения дополнительной информации.

...