Drupal 视图添加表单以添加记录
Posted
技术标签:
【中文标题】Drupal 视图添加表单以添加记录【英文标题】:Drupal views add form to add record 【发布时间】:2010-06-30 14:34:55 【问题描述】:我有一些视图列出了我的模块表条目。 在视图下方附加表单以添加记录的最优雅方法是什么? 我想知道的是:
我在我的模块中创建了专用表单:
function my_module_form_add_record($form_state)
form fields.....
我添加到视图主题文件中:
$add_form = drupal_get_form('my_module_form_add_record'); 打印 $add_form;
但我不喜欢这个解决方案至少有两个原因:
-
我不工作...
2。即使它有效 - 它取决于主题文件!因此,如果我更改主题 - 功能就会崩溃。 我想找到更优雅的解决方案,将表单从自定义模块附加到视图。
我知道“视图附加”模块的存在,但它没有添加自定义表单的选项。 我也知道 Views Embedded 表单的存在(我正在使用它),但它仅在您想将表单添加到每一行时才有用。
似乎必须是从视图页面添加记录的一些解决方案! 谢谢你的帮助。
【问题讨论】:
【参考方案1】:你可以使用hook_views_pre_render:
这个钩子在渲染过程之前被调用。查询已经执行,并且处理程序的 pre_render() 阶段已经发生,所以所有数据都应该可用。
向视图添加输出可以通过在 $view->attachment_before 和 $view->attachment_after 上放置文本来完成。修改内容可以通过编辑$view->result的项目来实现。
【讨论】:
谢谢,这是模板钩子还是模块钩子? 更新..你是对的。谢谢你。我首先在 template.php 文件中使用了这个钩子,所以我认为它只是一个主题钩子。直到现在我才知道钩子既可以是主题也可以是模块。也谢谢你。 这对我来说也是一个新的。在某些情况下,这不是一个坏主意。以上是关于Drupal 视图添加表单以添加记录的主要内容,如果未能解决你的问题,请参考以下文章
访问表单不显示添加新记录(空记录) - Recordsource 是一个视图
在drupal 7中,由于多个附件,将表单添加到视图会产生多个相同的表单,如何只保留一个?