如何在Drupal 7中使用规则创建一个新节点

时间:2011-10-18 07:06:20

标签: drupal-7 drupal-rules

我有一个previous question在这个问题上结合了两个问题......但我觉得我解释得有点模糊......太多的故事......所以我会一次只问一个问题:)

我正在尝试使用规则创建节点。规则需要创建一个新的“产品”节点并将其显示给用户,以便他们可以填写一些详细信息字段然后保存。

我正在尝试使用规则执行此操作 - >创建新实体。作为“实体类型”我选择“节点”和“内容类型”我选择我的产品内容类型。然后我还需要填写标题。哪里出错了。我试图将每种类型的数据或字符串放在Title和Rules的Value字段中,并接受它并保存规则。但每次规则都无法创建带有以下错误消息的节点:

Unable to create entity node": Invalid data value given. Be sure it matches the required data type and format.

如何有效地创建特定内容类型的新节点并将其呈现给用户以进行进一步完成,所有这些都有规则?

2 个答案:

答案 0 :(得分:6)

您可以使用代码执行此操作:

global $user;
$node = new stdClass;
$node->type = 'type';
$node->title = 'A title';
$node->uid = $user->uid;
node_object_prepare($node);
node_save($node);

drupal_goto("node/$node->nid");

希望有所帮助

答案 1 :(得分:0)

以下是两个教程,其中包含许多关于如何在代码中创建Drupal 7节点的注释:12

可以将代码添加到hook_node_inserthook_node_update连接中,以便也可以添加节点while saving other nodes