Как сделать новый узел с правилами в Drupal 7
У меня был предыдущий вопрос, объединяющий два вопроса на эту тему... но я думаю, что объяснил немного расплывчато... слишком много истории... поэтому я буду задавать только один вопрос за раз:)
Я пытаюсь создать узел с правилом. Правила должны создать новый узел "продукт" и показать его пользователю, чтобы они могли заполнить некоторые подробные поля и затем сохранить его.
Я пытаюсь сделать это с Правилами -> Создать новую сущность. В качестве "Типа сущности" я выбираю "Узел", а в качестве "Типа контента" я выбираю тип контента своего продукта. Тогда мне также нужно заполнить заголовок. Там, где это идет не так. Я попытался поместить каждый тип данных или строку в это поле Значение заголовка, и правила принимают его и сохраняют правило. Но каждый раз, когда правила не выполняются, создается узел со следующим сообщением об ошибке:
Unable to create entity node": Invalid data value given. Be sure it matches the required data type and format.
Как я могу эффективно создать новый узел определенного типа контента и представить его пользователю для дальнейшей обработки, все с правилами?
2 ответа
Вы можете просто сделать это с кодом:
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");
надеюсь, это поможет
Вот два урока с множеством комментариев о том, как создать узел Drupal 7 в коде: 1, 2.
Код можно добавить в hook_node_insert
или же hook_node_update
hoooks, так что узлы также могут быть добавлены при сохранении других узлов.