web-gelistirme-sc.com

Düzenlemede otomatik olarak yeni bir düzeltme oluştur

Bir düğüm düzenlendiğinde, her zaman yeni bir düzeltme oluşturmak istiyorum. İnsanların bunu kapatabilmesini istemiyorum. Bunu nasıl yapabilirim?

13
Lucy

Otomatik düzeltme oluşturmayı etkinleştirmek için içerik türü sayfasına (admin/content/node-type) gidin ve revizyonun otomatik olarak oluşturulmasını istediğiniz içerik türü için düzenle'yi seçin.

İş akışı alan kümesi altında bir "Yeni revizyon oluştur" seçeneği olacaktır. Bu kutuyu işaretlediğinizden ve içerik türü ayarlarınızı kaydettiğinizden emin olun.

Şimdi izinleriniz (admin/user/permissions) altında kullanıcılarınıza "admin düğümleri" izni vermediğinizden emin olun. Bu, bu seçeneğin üzerine yazmalarını engelleyecektir.

16
ericduran

Bunu yapmanın birkaç farklı yolu vardır, ancak kullanıcılar için administer nodes İzinlerini devre dışı bırakmadan yapmak istediğinizi varsayarsak, muhtemelen en kolay yol Yeni düzeltme oluştur = hook_form_alter() uygulayan özel bir modül oluşturarak onay kutusu:

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;
  }
}

Bu şekilde, kullanıcıların her içerik türü için ayarlar sayfasında ayarlanan onay kutusunun varsayılan değerini değiştirme yeteneği olmaz.

2
user7