Vâng, như bạn nói có một danh sách các mô-đun có thể làm điều này trong Drupal 7 như:
Xóa nút sửa đổi
Mô-đun Node Revision Delete cho phép bạn theo dõi và cắt xén các bản sửa đổi cũ của các loại nội dung. Xác định số lượng sửa đổi tối đa để giữ cho mỗi loại nội dung. Chạy trên Drush, cron run hoặc vào một khoảng thời gian khác (hàng ngày, hàng tuần, v.v.).
Hạn chế sửa đổi nút
Mô-đun giới hạn sửa đổi nút cho phép bạn hạn chế sửa đổi nút cho từng loại nội dung. Mô-đun này có giao diện quản trị để chỉ định ngưỡng sửa đổi nút cho từng loại nội dung có sẵn. Cài đặt có thể bao gồm loại nút có giới hạn sửa đổi tương ứng, được cung cấp trên biểu mẫu cấu hình Hạn chế sửa đổi nút. Lưu ý rằng mô-đun này không và không thể xóa các phiên bản hiện tại của một nút.
Dọn dẹp sửa đổi nút
Node Revision Cleanup được thiết kế cho các cơ sở dữ liệu thực sự lớn. Và quản trị viên trang web thoải mái với Drush. Khái niệm đằng sau mô-đun này là có thể chạy nhiều yêu cầu cùng một lúc, thông qua Drush để tối đa hóa số lần xóa sửa đổi nút mỗi giây.
Xóa sửa đổi
Mô-đun này cho phép khả năng xóa hàng loạt các sửa đổi nút cũ. Các cài đặt có thể bao gồm loại nút, tuổi sửa đổi nút trước khi bị xóa, cùng với cài đặt tần số Cron. Các sửa đổi có thể bị xóa sau khi xem xét trên một trang quản trị. Mô-đun này KHÔNG BAO GIỜ xóa bản sửa đổi hiện tại của một nút, và cũng không cho phép bạn làm như vậy.
Và đối với Drupal 8 , hiện tại không có mô-đun để làm điều đó, nhưng bạn có thể sử dụng:
Để có được danh sách sửa đổi của một nút:
$vids = \Drupal::entityManager()->getStorage('node')->revisionIds($node);
Xem các nút bây giờ có bộ điều khiển lưu trữ; đã loại bỏ nút numvision_list ().
Để xóa bản sửa đổi sửa đổi, bạn có thể sử dụng hàm node_Vvision_delete () , nhưng cuối cùng, hãy xem mã chức năng:
function node_revision_delete($revision_id) {
\Drupal::entityTypeManager()->getStorage('node')->deleteRevision($revision_id);
}
Vì vậy, sẽ tốt hơn nếu bạn chỉ sử dụng:
\Drupal::entityTypeManager()->getStorage('node')->deleteRevision($revision_id);