Magento richiede che il browser sia abilitato al javascript e che sia disponibile il servizio di cookies sul browser dell’utente. La mancanza di queste funzionalità rende impossibile navigare ed effettuare acquisti. Il sistema utilizza un meccanismo interno per valutare queste capacità.
Nel caso dei cookies c’è una situazione per cui il sistema fallisce e indica la falsa impossibilità di salvare cookies. La situazione si presenta quando si pulisce il browser effettuando un reset oppure avviamo per la prima volta il browser stesso e si apre come prima pagina la registrazione utente o il carrello.
In questa situazione Magento effettuerà redirect verso la pagina /enable-cookies senza motivo. I realtà i cookies vengono settati, solo che sono leggibili fino al prossimo caricamento.
Le soluzioni sono varie…ne ho selezionate 2:
- Disabilitare il redirect alla pagina /enable-cookies da Sistema –> Configurazione –> Web
- Interporre prima del caricamento della registrazione una pagina php che setti un cookie di inizializzazione
La prima soluzione è molto semplice, ma ha il difetto di togliere feedback agli utenti che davvero hanno i cookie disabilitati. Questi utenti proveranno a registrarsi senza ottenere errori. Solitamente si tratta del 2% dell’audience.
La seconda soluzione è più complessa ma garantisce il corretto funzionamento del meccanismo di gestione dei cookies da parte di Magento in quanto si evita il verificarsi della condizione incriminata.
Bisogna creare una pagina PHP con il seguente codice:
<?
setcookie ("InitializeCookie", "OK", time() + 3600);
$url = 'customer/account/create';
$queryString = $_SERVER['QUERY_STRING'];
$finalUrl = $url .'?'.$queryString;
header("Status: 301");
header("Location: $finalUrl");
exit;
?>
https://www.miosito.com/redirect-registration.php?pippo=pippo
https://www.miosito.com/customer/account/create?pippo=pippo
