it-swarm-vi.com

Tạo bản sửa đổi mới tự động khi chỉnh sửa

Khi một nút được chỉnh sửa, tôi muốn luôn tạo một bản sửa đổi mới. Tôi không muốn mọi người có thể tắt cái này. Tôi có thể làm cái này như thế nào?

13
Lucy

Để bật tính năng tạo sửa đổi tự động, hãy chuyển đến trang loại nội dung (quản trị viên/nội dung/loại nút) và chọn chỉnh sửa cho bất kỳ loại nội dung nào bạn muốn để sửa đổi được tạo tự động.

Trong trường bộ quy trình công việc, sẽ có một tùy chọn "Tạo bản sửa đổi mới", đảm bảo bạn chọn hộp đó và lưu cài đặt loại nội dung của bạn.

Bây giờ dưới quyền của bạn (quản trị viên/người dùng/quyền), hãy đảm bảo không cung cấp cho người dùng của bạn quyền "nút quản trị". Điều này sẽ ngăn họ ghi đè tùy chọn đó.

16
ericduran

Có một vài cách khác nhau để làm điều này, nhưng giả sử bạn muốn làm điều đó mà không vô hiệu hóa quyền administer nodes Cho người dùng, có lẽ cách dễ nhất là tắt quyền truy cập vào Tạo bản sửa đổi mới = hộp kiểm bằng cách tạo một mô-đun tùy chỉnh thực hiện hook_form_alter():

function sandbox_form_alter(&$form, &$form_state, $form_id) {
  // Node forms have an ID of the form CONTENTTYPE_node_form: only modify those
  if (strstr($form_id, '_node_form') === FALSE) {
    return;
  }

  if (isset($form['revision_information'])) {
    $form['revision_information']['revision']['#access'] = FALSE;
  }
}

Bằng cách này, người dùng không có khả năng thay đổi giá trị mặc định của hộp kiểm, được đặt trên trang cài đặt cho từng loại nội dung.

2
user7