如何解决Drupal 6-自定义登录表单的错误消息保持为空
| 我为Drupal 6管理员使用了花环主题。我添加了一个名为:page-user-login.tpl.php的模板,可以从mywebiste.com/user/login访问该模板。在模板中,我只是添加了以下内容:<html ...>
<head>
<?php print $head ?>
<?php print $styles ?>
</head>
<body>
<?php
print drupal_get_form(\'user_login_block\');
print $messages;
?>
</body>
</html>
登录表单将显示出来,并且对于现有用户而言正常运行。
但是,如果用户不存在,则该页面上不会显示任何消息。我尝试使用\“ theme_status_messages \”和\“ drupal_get_messages \”,但它们始终为空。我应该怎么做才能得到返回错误信息?
PS:我正在创建一个自定义登录页面,因为它需要与所有其他页面完全不同的设计。
解决方法
用户登录表单已加载到$ content变量中。
<?php print $content; // instead of print drupal_get_form(... ?>
我有一个类似的页面替代,因此我只是加入了您的方法,并且确认的错误不会显示(尽管用户字段确实突出显示为红色)。当我打印$ content时,确实显示错误。
我的猜测是,这与在同一页面请求中检索到的两种相同形式有关。
,页面模板应具有用于消息的预处理变量:
<?php print $messages; ?>
(从这里)
在页面模板中,drupal_get_messages()为空,因为在预处理过程中已经调用了它,以构建$ messages变量。调用该函数时,将清除消息会话变量。
您是否将其放入页面模板的任何地方?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。