[GELÖST] - Vertikalen Tab Versionsinformation im Edit-Modus entfernen

am 24.12.2012 - 12:04 Uhr in
Hallo,
ich möchte im Edit-Modus den vertikalen Tab Versionsinformation ausblenden. Mir ist bekannt, dass über das Recht "Inhalte verwalten" der Revision-Tab entfernt werden kann. Ich benötige dieses Recht aber für die Benutzerrolle. Habe folgende Funktion in der template.php meines Themes erstellt. Das funktioniert aber nicht:
function corolla_node_form_alter(&$form, &$form_state, $form_id) {
$form['revision_information'] = NULL;
}
Kann mir jemand weiterhelfen?
fk
- Anmelden oder Registrieren um Kommentare zu schreiben
Formularelemente ausblenden
am 27.12.2012 - 19:19 Uhr
Moin.
In Deinem Code sind leider mehrere Fehler versteckt.
Zum Verändern eines Formulars kannst Du entweder [api:hook_form_alter:7] oder (spezieller) [api:hook_form_FORM_ID_alter:7] verwenden.
Bei der ersten Variante wäre dies also
<?php function corolla_form_alter(&$form, &$form_state, $form_id) {} ?>
, wobei Du dann innerhalb der Funktion noch die$form_id
überprüfen musst (Du möchtest den Code ja nicht auf alle Formulare anwenden, sondern nur auf das Formular eines bestimmten Inhaltstypen).Bei der zweiten Variante kannst Du die ID des Formulares gleich mit in den Funktionsnamen einbauen. Für den Inhaltstypen "Article" wäre dies dann
<?php function corolla_form_article_node_form_alter(&$form, &$form_state) {} ?>
.Weiterhin solltest Du nie (also nie!) bestehende Formularelemente einfach so überschreiben. Wenn nun eine andere Funktion auf die Struktur unterhalb von
<?php $form['revision_information'] ?>
zugreifen wollen würde, gäbe es PHP-Fehler, da Du den Wert ja auf "NULL" gesetzt hast.Zum Ausblenden von Formularelementen kannst Du ganz einfach #access verwenden.
Bei Dir dann also:
<?php $form['revision_information']['#access'] = FALSE; ?>
. Damit wird der Tab dann nicht mehr gerendert, ist also (im Browser) komplett weg.hth,
Stefan
Moin, vielen Dank für deine
am 27.12.2012 - 21:45 Uhr
Moin,
vielen Dank für deine Anwort, habe die zweite Variante gewählt.
Es hat geholfen,
Frank