У мене є сторінка з дуже простим шаблоном:
<!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>
В основному він відображає реєстраційну форму і більше нічого.
- Я ввожу у форму деякі погані дані - вже використано ім’я користувача (адміністратор), а не електронну адресу.
- Я натискаю "створити новий рахунок".
- Здається, сторінка надсилається та завантажується, але нічого не сталося - не відображаються повідомлення про помилки .
- Я оновлюю сторінку (F5).
- Firefox відображає "для відображення цієї сторінки. Firefox повинен надіслати інформацію, яка повторить будь-яку дію, яка була виконана раніше" - тому я знаю, що моя POST проходила раніше.
- Я натискаю "повторно" у цьому діалоговому вікні.
- З'являються мої повідомлення про помилку - "поле електронної пошти обов'язкове", "адміністратор імені вже прийнято".
Це трапляється для всіх перевірених нами форм, а не лише для реєстраційної форми.
Чому це відбувається? Що я можу зробити, щоб виправити це, щоб повідомлення про помилки відображалися вперше?
Я радий робити все, що мені потрібно, щоб це налагодити, але мені потрібен певний напрямок, щоб почати шукати. :)
drupal_get_form('user_register')
в$block['content']
. Я включаю цей модуль через контекст, а потім повідомлення про помилки реєстрації відображаються правильно після надсилання. Це здається надто складним, але воно працює, і це дозволяє мені включати форми для входу / реєстрації, як я хочу їх. Дякую купи за вашу допомогу.