Domanda

Ho bisogno di impostare o aggiornare un cookie, ma voglio assicurare che tutti (o quanto più possibile) della richiesta di trasformazione avviene davanti ai miei biscotto esegue il codice generazione. vale a dire se l'utente accede, voglio garantire che il trattamento di accesso si è verificato prima che le mie corse di codice, o se l'utente aggiunge qualcosa al loro carrello voglio sapere che tutta l'elaborazione della spesa è fatta per prima.

Esistono eventi che vengono inviati immediatamente prima di una risposta viene inviata al browser?

È stato utile?

Soluzione

L'ultimo evento inviato in Magento 1.x prima che il contenuto è reso è

controller_front_send_response_after

Se non ci sono requisiti supplementari in dati osservatore che si avrebbe bisogno, questo dovrebbe essere perfetto per voi.

Altri suggerimenti

Un trucco utile, per trovare gli eventi sparato durante una richiesta di pagina / azione, è temporaneamente modificare app / Mage.php e scrivere gli eventi generati da 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;
    }

a

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;
    }

e la coda poi il file di log. Ho trovato questo metodo estremamente utile, e salvato un sacco di caccia di tempo per questo evento sfuggente per l'uso.

Naturalmente si dovrebbe rimuoverlo immediatamente, in quanto non si vuole impegnare file core modificati. Mi avvolgo nel controllo degli sviluppatori, per ogni evenienza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top