我想要一个节点视图,在它上面,添加一个新的节点表单,所以它很容易构建一个列表(比如说一个购物清单)。
当我提交表单时,我希望它通过 ajax 刷新视图以包含新节点。
实现这一目标的最佳方法是什么?
你在这里有相当多的要求。我将假设您知道如何构建视图。使用页面输出。
使用 Drupal 表单 API 创建表单。设置一个自动完成字段并让您的提交处理程序在节点中的一个字段中设置一个值。将此表单放在一个块中(如何在 Drupal 模块中允许多个块)并将其显示在此视图输出的页面顶部。
对于 ajax 的东西,我为我的公司写了一篇很棒的博客文章,概述了如何做到这一点:http ://clikfocus.com/blog/simple-ajax-example-drupal-6-and-7
在您的回调中运行该函数:
$view = views_embed_view('view_name', 'display_name', $args_array);
print $view;
确保您关闭了视图缓存,并在您的 jQuery 中确保选择包装视图的标签。
你在这里要求一个完整的模块,所以我现在不能写整个东西,但这应该让你开始。