0

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

为此,我创建了一个带有验证处理程序 form_validate() 和提交处理程序 form_submit() 的 drupal 表单 API Form form()。然后,我添加了一个表单 API form widget_form(),它与 ​​form() 基本相同 - 只是进行了细微的样式调整,验证/提交处理程序设置为 form_validate() 和 form_submit(),我也将操作更改为显示 form() 的子页面。

这很好用,但是如果出现验证错误(使用 widget_form() 时),drupal 会标记块格式,而不是子页面上的那个。

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

谢谢!

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

4

1 回答 1

0

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

于 2013-10-19T00:05:46.613 回答