Cài đặt Drupal tiêu chuẩn không cho phép bạn tạo bản sửa đổi "Đang chờ xử lý". Bạn có hai lựa chọn:
- Lập trình tạo một bản sửa đổi mới nhưng lập trình trở lại bản sửa đổi ban đầu (tạo bản sửa đổi thậm chí mới hơn, nhưng nó có nội dung gốc)
- (Khuyến nghị) Sử dụng Kiểm duyệt, Sửa đổi hoặc Luồng công việc là các giải pháp được cân nhắc kỹ lưỡng để kiểm soát phiên bản và / hoặc kiểm soát truy cập.
Đối với tùy chọn 1: Bạn có thể thêm mã này làm Quy tắc mới hoặc sử dụng mã này trong mô-đun mới
<?php
// Programatically load the existing revision and save it
// Taken from http://api.drupal.org/api/drupal/modules!node!node.module/function/node_save/7
// Load the revision
$original_revision = node_load($nid);
$original_revision->revision = 1;
$original_revision->log = t('Copy of the revision from %date.', array('%date' => format_date($original_revision->revision_timestamp)));
$new_revision = node_load($nid);
// Make any changes to the new revision here...
$new_revision->revision = 1;
$new_revision->log = t('Summarize your changes here');
// Save the new revision first
node_save($new_revision);
// Save the original one again so that it is still the current revision
node_save($original_revision);
watchdog('content', '@type: reverted %title revision %revision.', array('@type' => $node_revision->type, '%title' => $node_revision->title, '%revision' => $node_revision->vid));
drupal_set_message(t('@type %title was saved with a new revision, but reverting to original revision from %revision-date.', array('@type' => node_type_get_name($node_revision), '%title' => $node_revision->title, '%revision-date' => format_date($node_revision->revision_timestamp))));
drupal_goto('node/' . $node_revision->nid . '/revisions');
?>
Đối với tùy chọn 2: Tôi muốn giới thiệu Workbench thay đổi hoặc Workflow, nhưng mỗi cách khác nhau tùy thuộc vào nhu cầu của bạn. Workbench là loại kế thừa của Sửa đổi và Workflow không chỉ đơn thuần là kiểm soát phiên bản, vì vậy nó có thể phù hợp hoặc không phù hợp với nhu cầu của bạn.
Đây là một sự cố nhanh chóng về sự khác biệt giữa Workbench và Workflow.