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 视图添加表单以添加记录的主要内容,如果未能解决你的问题,请参考以下文章

如何在drupal 7中更改视图查询并添加联合本身

在 Drupal 中搜索视图

访问表单不显示添加新记录(空记录) - Recordsource 是一个视图

在drupal 7中,由于多个附件,将表单添加到视图会产生多个相同的表单,如何只保留一个?

如何使用 drupal 6 中的自定义字段将自定义版本的节点/添加表单放在视图中?

添加节点刷新视图