매우 간단한 템플릿이있는 페이지가 있습니다.
<!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']
. 컨텍스트를 통해 해당 모듈을 포함시킨 다음 제출 후 등록 오류 메시지가 올바르게 표시됩니다. 지나치게 복잡해 보이지만 작동하며 로그인 / 등록 양식을 원하는 방식으로 포함시킬 수 있습니다. 도와 주셔서 감사합니다.