Ho una pagina con un modello molto semplice:
<!DOCTYPE html>
<html>
<head><title>TEST REGISTRATION PAGE</title></head>
<body>
<?php
print drupal_get_form('user_register');
print $messages;
print $closure;
print $main_content;
?>
</body></html>
Fondamentalmente, visualizza il modulo di registrazione e nient'altro.
- Nel modulo inserisco alcuni dati errati: un nome utente (admin) già utilizzato e nessun indirizzo e-mail.
- Faccio clic su "Crea nuovo account".
- La pagina sembra inviare e ricaricare, ma non è successo nulla: non vengono visualizzati messaggi di errore .
- Aggiorna la pagina (F5).
- Firefox visualizza "per visualizzare questa pagina, Firefox deve inviare informazioni che ripeteranno qualsiasi azione eseguita in precedenza" - quindi so che il mio POST è stato eseguito in precedenza.
- Faccio clic su "Rinvia" nella finestra di dialogo.
- Vengono visualizzati i miei messaggi di errore: "il campo dell'indirizzo e-mail è obbligatorio", "il nome admin è già utilizzato".
Questo si verifica per tutti i moduli che ho testato finora, non solo per il modulo di registrazione.
Perché sta succedendo? Cosa posso fare per risolverlo in modo che i messaggi di errore vengano visualizzati per la prima volta?
Sono felice di fare tutto ciò di cui ho bisogno per eseguire il debug, ma ho bisogno di una direzione per iniziare a cercare. :)
drupal_get_form('user_register')
in$block['content']
. Includo quel modulo tramite il contesto e quindi i messaggi di errore di registrazione vengono visualizzati correttamente dopo l'invio. Sembra eccessivamente complicato ma funziona e mi permette di includere i moduli di login / registro come li voglio. Grazie mille per il tuo aiuto.