it-swarm-eu.dev

Vytvořit novou revizi automaticky při úpravách

Při editaci uzlu chci vždy vytvořit novou revizi. Nechci, aby to lidé mohli vypnout. Jak to mohu udělat?

13
Lucy

Chcete-li povolit automatické vytváření revizí, přejděte na stránku typu obsahu (admin/content/node-type) a vyberte Upravit pro jakýkoli typ obsahu, který si přejete, aby byla revize vytvořena automaticky.

Pod sadou polí pracovního postupu bude možnost „Vytvořit novou revizi“, ujistěte se, že jste zaškrtli toto políčko a uložili nastavení typu obsahu.

Nyní pod vašimi oprávněními (administrátor/uživatel/oprávnění) nezapomeňte svým uživatelům udělit oprávnění „spravovat uzly“. To jim zabrání přepsat tuto možnost.

16
ericduran

Existuje několik různých způsobů, jak to udělat, ale za předpokladu, že to chcete udělat, aniž byste deaktivovali oprávnění administer nodes Pro uživatele, pravděpodobně nejjednodušším způsobem je pouze vypnout přístup k Vytvořit novou revizi = zaškrtávací políčko vytvořením vlastního modulu, který implementuje 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;
  }
}

Uživatelé tak nemají možnost změnit výchozí hodnotu zaškrtávacího políčka, které je nastaveno na stránce nastavení pro každý typ obsahu.

2
user7