Mam stronę z bardzo prostym szablonem:
<!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>
Zasadniczo wyświetla formularz rejestracyjny i nic więcej.
- W formularzu wpisuję złe dane - już użytą nazwę użytkownika (admin) i brak adresu e-mail.
- Klikam „utwórz nowe konto”.
- Strona wydaje się przesyłać i ładować ponownie, ale nic się nie wydarzyło - nie wyświetla się żaden komunikat o błędzie .
- Odświeżam stronę (F5).
- Firefox wyświetla „aby wyświetlić tę stronę, Firefox musi wysłać informacje, które powtórzą wcześniejszą akcję” - więc wiem, że mój test POST przeszedł wcześniej.
- Klikam „wyślij ponownie” w tym oknie dialogowym.
- Pojawiają się moje komunikaty o błędach - „pole adresu e-mail jest wymagane”, „nazwa administratora jest już zajęta”.
Dzieje się tak w przypadku wszystkich formularzy, które do tej pory testowałem, a nie tylko formularza rejestracyjnego.
Dlaczego to się dzieje? Co mogę zrobić, aby to naprawić, aby komunikaty o błędach były wyświetlane po raz pierwszy?
Cieszę się, że mogę zrobić wszystko, co trzeba, aby to debugować, ale potrzebuję jakiegoś kierunku, aby zacząć szukać. :)
drupal_get_form('user_register')
w$block['content']
. Dołączam ten moduł przez kontekst, a następnie komunikaty o błędach rejestracji pojawiają się poprawnie po przesłaniu. Wydaje się to zbyt skomplikowane, ale działa i pozwala mi dołączyć formularze logowania / rejestracji, jak chcę. Wielkie dzięki za pomoc.