Drupal 6上的form_set_error使用两个相同的形式

时间:2013-10-18 09:15:34

标签: php forms drupal drupal-6 form-api

我正在使用Drupal 6,我想创建一个块,它显示一个也可以在子页面上找到的表单。

为此,我使用其validationhandler form_validate()及其submithandler form_submit()创建了一个drupal表单API表单()。然后,我添加了一个表单API表单widget_form(),它与form()基本相同 - 只是次要的样式调整,验证/ submithandler设置为form_validate()和form_submit(),我也改变了动作去显示form()的子页面。

这样可以正常工作,但如果存在验证错误(使用widget_form()时),drupal会标记块公式,而不是子页面上的那个。

这似乎按设计工作,但不是我想要的必要行为。那么,有什么方法可以改变吗? (我想要在form() - form上显示错误,而不是widget_form())

谢谢!

编辑:我试图在显示form()表单的页面上隐藏包含widget_form() - Form的块,不会显示错误。

1 个答案:

答案 0 :(得分:0)

我认为使用的方法并不完全正确。您需要创建的只是一个表单和一组验证和提交功能。对于块使用hook_block并创建一个块并在块视图内部操作,您可以调用drupal_get_form并在块内显示该表单,然后使用CSS或自定义模板文件对该块进行主题化。然后,从块配置页面,您可以决定不在加载完整表单的URL(菜单)中显示该块。你有那个部分。