【问题标题】:Drupal views add form to add recordDrupal 视图添加表单以添加记录
【发布时间】:2010-06-30 14:34:55
【问题描述】:

我有一些视图列出了我的模块表条目。 在视图下方附加表单以添加记录的最优雅方法是什么? 我想知道的是:

  1. 我在我的模块中创建了专用表单:

    function my_module_form_add_record($form_state) {
    form fields.....
    

    }

  2. 我添加到视图主题文件中:

    $add_form = drupal_get_form('my_module_form_add_record'); 打印 $add_form;

但我不喜欢这个解决方案至少有两个原因:

  1. 我不工作...

2。即使它有效 - 它取决于主题文件!因此,如果我更改主题 - 功能就会崩溃。 我想找到更优雅的解决方案,将表单从自定义模块附加到视图。

我知道“视图附加”模块的存在,但它没有添加自定义表单的选项。 我也知道 Views Embedded 表单的存在(我正在使用它),但它仅在您想将表单添加到每一行时才有用。

似乎必须是从视图页面添加记录的一些解决方案! 谢谢你的帮助。

【问题讨论】:

    标签: drupal forms views add


    【解决方案1】:

    你可以使用hook_views_pre_render:

    这个钩子在渲染过程之前被调用。查询已经执行,并且处理程序的 pre_render() 阶段已经发生,所以所有数据都应该可用。

    向视图添加输出可以通过在 $view->attachment_before 和 $view->attachment_after 上放置文本来完成。修改内容可以通过编辑$view->result的项目来实现。

    【讨论】:

    • 谢谢,这是模板钩子还是模块钩子?
    • 更新..你是对的。谢谢你。我首先在 template.php 文件中使用了这个钩子,所以我认为它只是一个主题钩子。直到现在我才知道钩子既可以是主题也可以是模块。也谢谢你。
    • 这对我来说也是一个新的。在某些情况下,这不是一个坏主意。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多