2014-08-29 3 views
6

Я создал модуль для редактирования содержимого узла автоматически. И сайт использует модуль «Workbench Moderation».Как создать «проект» программно с помощью Drupal Workbench Moderation?

Но я не могу понять, как заставить узел дублировать новую редакцию (в статусе «черновик»). Мой отредактированный контент всегда отображается в «опубликованной» версии узла.

Кто-нибудь знает, что вызовет API, чтобы это произошло?

ответ

7

У меня была сама проблема. Ключевые вещи:

  • типа содержания под умеренностью через модуль верстак модерации
  • Установите новое состояние умеренности
  • Установите узел как новая ревизия

Drupal заботится о отдых.

<?php 
$node = node_load($nid); 
$node->body[LANGUAGE_NONE][0]['value'] = 'My new body content'; 
// We're wanting drupal to create a new revision 
$node->revision = 1; 
// We want workbench moderation to treat the new revision as a new draft 
$node->workbench_moderation_state_new = workbench_moderation_state_none(); 
node_save($node); 

Это в настоящее время работает в моей кодовой базе.

+1

Большое вам спасибо! Меня подвело мысль о том, что Workbench Moderation отвечает за пересмотр. Но это '$ node-> revision = 1;' это волшебство, которое я искал. –

+0

Это то, что меня поймало. :) – Gold

 Смежные вопросы

  • Нет связанных вопросов^_^