开发者

Change node author automatically

Anonymous user is able to post nodes. After posting node, user is redirected to registration. After registration, the previously submitted node should be linked with newly开发者_如何学JAVA registered user. I played with rules and entities but I was not able to get it work properly. Any ideas?


I would write a custom module (but that's me). The module needs to implement hook_node_insert and save the nid into SESSION. Then on hook_user_insert it can do the change. Untested code:

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);
    }
  }
}

Edit: don't forget unset($_SESSION['mynodes']);


Save the node data until after registration and post it then.


There's the Anonymous Node Create module.

The module allows anonymous users to create nodes. But 'anonymous' is questionable in this module. This module alters the node form for anonymous users by adding two field groups at the end before the save button.

The first field group has fields that allow users to create a new account. This new account is then the author of the new node created.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜