Как сделать новый узел с правилами в 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, так что узлы также могут быть добавлены при сохранении других узлов.

Другие вопросы по тегам