Изменить автора узла автоматически - PullRequest
2 голосов
/ 08 февраля 2011

Анонимный пользователь может публиковать узлы. После размещения узла пользователь перенаправляется на регистрацию. После регистрации ранее представленный узел должен быть связан с новым зарегистрированным пользователем. Я играл с правилами и сущностями, но не смог заставить его работать должным образом. Есть идеи?

Ответы [ 3 ]

5 голосов
/ 08 февраля 2011

Я бы написал собственный модуль (но это я).Модуль должен реализовать 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']);

0 голосов
/ 09 февраля 2011

Это модуль Anonymous Node Create .

Модуль позволяет анонимным пользователям создавать узлы. Но «анонимный» в этом модуле сомнителен. Этот модуль изменяет форму узла для анонимных пользователей, добавляя две группы полей в конце перед кнопкой сохранения.

Первая группа полей имеет поля, которые позволяют пользователям создавать новую учетную запись. Затем эта новая учетная запись является автором созданного нового узла.

0 голосов
/ 09 февраля 2011

Сохраняйте данные узла до окончания регистрации и затем публикуйте их.

...