自动更改节点作者

时间:2011-02-08 18:42:48

标签: drupal drupal-7

匿名用户可以发布节点。发布节点后,用户将被重定向到注册。注册后,先前提交的节点应与新注册的用户链接。 我玩规则和实体,但我无法正常工作。有什么想法吗?

3 个答案:

答案 0 :(得分:5)

我会写一个自定义模块(但那就是我)。该模块需要实施hook_node_insert并将nid保存到SESSION。然后在hook_user_insert它可以进行更改。未经测试的代码:

function foo_node_insert($node) {
  $_SESSION['mynodes'][] = $node->nid;
}

function foo_user_insert($edit, $account) {
  if (!empty($_SESSION['mynodes'])) {
    foreach ($_SESSION['mynodes'] as $nid) {
      $node = node_load($nid);
      $node->uid = $account->uid;
      // This saves the revision as the current user uid but that's just what we wanted.
      node_save($node);
    }
  }
}

编辑:不要忘记unset($_SESSION['mynodes']);

答案 1 :(得分:0)

保存节点数据,直到注册后再发布。

答案 2 :(得分:0)

Anonymous Node Create模块。

  

该模块允许匿名用户创建节点。但是“匿名”在这个模块中是值得怀疑的。此模块通过在保存按钮之前的末尾添加两个字段组来更改匿名用户的节点表单。

     

第一个字段组包含允许用户创建新帐户的字段。然后,这个新帐户就是创建的新节点的作者。