Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module ›

[gelöst] Forum "Leave shadow copy" nur für bestimmte rollen anzeigen.

Eingetragen von fraweg (230)
am 07.01.2013 - 22:42 Uhr in
  • Module
  • Drupal 7.x

Hallo zusammen,

Zunächst einmal wünsche ich allen ein frohes neues Jahr!

Ich habe mal eine Frage. Wenn ich ein Forum Beitrag editiere erscheint da "Leave shadow copy" was soweit auch funktioniert. Nur halte ich es nicht für Sinnvoll das dieses jeder User kann. Gibt es eine einfache Möglichkeit das für bestimmte Rollen zu verbergen ?

Viele Grüße
Frank

‹ Drupal Commerce und (deutsche) Tax Rates [gelöst] Forum "Leave shadow copy" nur für bestimmte rollen anzeigen. ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Kener eine Idee? :-(

Eingetragen von fraweg (230)
am 09.01.2013 - 22:57 Uhr

Kener eine Idee? :-(

  • Anmelden oder Registrieren um Kommentare zu schreiben

fraweg schriebKener eine

Eingetragen von SteffenR@drupal.org (2262)
am 11.01.2013 - 18:27 Uhr
fraweg schrieb

Kener eine Idee? :-(

Da es sich bei leave shadow copy um eine Checkbox handelt, die über die Form-API erzeugt wird, kannst du über den hook_form_alter in einem eigenen Modul diese Checkbox auch ausblenden bzw. #access auf FALSE setzen. Den aktuellen Benutzer kannst du dir aus dem globalen $user Objekt ziehen und so dann auch die Rolle prüfen.

http://api.drupal.org/api/drupal/modules%21system%21system.api.php/funct...

Die Umsetzung ist hier schon fast fertig erklärt:
http://drupal.stackexchange.com/questions/7199/how-to-hide-and-or-preven...

Du müsstest hier nur den Namen des Form Elements anpassen -> $form['shadow']..

SteffenR

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Steffen,Vielen Dank

Eingetragen von fraweg (230)
am 11.01.2013 - 20:33 Uhr

Hallo Steffen,

Vielen Dank für die Antwort und vor allem die Links! Ich werde mir das mal ansehen.

Viele Grüße
Frank

Edit:
Also ich hab mal das hier versucht, was aber leider noch nicht klappt.

function hide_leave_shadow_copy_form_alter(&$form, &$form_state, $form_id) {
global $user;

// Check to see if $user has does not have the administrator role.
  if (!in_array('administrator', array_values($user->roles))) {
    $form['shadow']['#access'] = FALSE;
  }
   
}

Bzw. grundsätzlich erst einmal das hier um es ganz verschwinden zu lassen (testweise):

function hide_leave_shadow_copy_form_alter(&$form, &$form_state, $form_id) {
    if($form_id == 'story_node_form') {
        $form['shadow']['#access'] = FALSE;
   }

}

  • Anmelden oder Registrieren um Kommentare zu schreiben

Mon Frank, Ich hab mir das

Eingetragen von SteffenR@drupal.org (2262)
am 12.01.2013 - 13:05 Uhr

Mon Frank,

Ich hab mir das Ganze gerade noch mal angeschaut.

Folgender Code funktioniert bei meinen Tests problemlos:
Musst halt auch schauen, ob du auf die richtigen Rollennamen prüfst etc. Zum Testen am Besten auch mal nen dpm($user_roles) mit in den Code packen ( sofern devel aktiviert ).. Dann siehst auch, wie die Rollennamen korrekt heissen..

<?php
/**
* Implements hook_form_alter().
*/
function my_module_form_alter(&$form, &$form_state, $form_id) {

  if (
$form_id == 'forum_node_form') {
    global
$user;
   
$user_roles = array_values($user->roles);
    if (!
in_array('administrator', $user_roles)) {
     
$form['shadow']['#access'] = FALSE;
    }
  }
}
?>

SteffenR

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Dank Nochmals für

Eingetragen von fraweg (230)
am 12.01.2013 - 14:02 Uhr

Vielen Dank Nochmals für deine Mühe!

Ich habe das mal getestet..

Es gibt bei mir folgende Fehlermeldung:

Zitat:

Parse error: syntax error, unexpected T_IF in /.../sites/all/modules/my_modules/hide_leave_shadow_copy_for_users/hide_leave_shadow_copy_for_users.module on line 7

Ich habe mal Google bemüht und da steht, dass die If-Anweisung nicht akzeptiert wird weil entweder eine Klammer oder ein Semikolon fehlt.
Kann ich jetzt aber so nicht erkenne...

Noch eine Idee/Tipp für mich?

Viele Grüße
Frank

  • Anmelden oder Registrieren um Kommentare zu schreiben

In meinem Beispielcode kann

Eingetragen von SteffenR@drupal.org (2262)
am 12.01.2013 - 16:39 Uhr

In meinem Beispielcode kann ich so auch keinen Fehler entdecken - sonst poste hier mal deinen Modul-Code, so lässt sich der Fehler schneller finden..

Gruß,
SteffenR

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Steffen,nochmals

Eingetragen von fraweg (230)
am 12.01.2013 - 17:58 Uhr

Hallo Steffen,

nochmals vielen Dank für deine Mühe! Ich hatte das Modul entfernt weil es nicht lief und es gerade nochmal gemacht um es hier zu posten. ..Was soll ich sagen..jetzt scheint es zu gehen. Nochmals Vielen vielen Dank!

Ich poste es trotzdem mal hier. Vielleicht kann es der eine oder andere ja gebrauchen :-)

Ein schönes WE wünsche ich!

Frank

Edit: Eine Frage hätte ich noch. Kann ich das für mehrere Rollen einfach mit "or" verbinen oder besser mit "elseif" ?
Und wie geht man mit dem "dpm($user_roles)" um. Sind die Rollennamen nicht gleich den mir vegebenen?

AnhangGröße
hide_leave_shadow_copy.tar 10 KB
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja - mehrere Rollen kannst du

Eingetragen von SteffenR@drupal.org (2262)
am 12.01.2013 - 17:51 Uhr

Ja - mehrere Rollen kannst du mit || oder OR verknüpfen ..

SteffenR

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • lstin tombent homophonic wikke
  • Rolle erstellen nicht zu finden
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
Weiter

Neue Kommentare

  • Rollen
    vor 3 Tagen 2 Stunden
  • Inzwischen sind wir bei
    vor 1 Woche 6 Tagen
  • Migrieren von D7 auf D8/ D10/ D11
    vor 2 Wochen 11 Stunden
  • melde mich mal wieder, da ich
    vor 9 Wochen 4 Tagen
  • Hey danke
    vor 9 Wochen 5 Tagen
  • Update: jetzt gibt's ein
    vor 9 Wochen 6 Tagen
  • Hallo, im Prinzip habe ich
    vor 10 Wochen 3 Tagen
  • Da scheint die Terminologie
    vor 10 Wochen 3 Tagen
  • Kannst doch auch alles direkt
    vor 11 Wochen 23 Stunden
  • In der entsprechenden View
    vor 11 Wochen 23 Stunden

Statistik

Beiträge im Forum: 250238
Registrierte User: 20466

Neue User:

  • StevenEness
  • FoxPiola
  • ocvk2810

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 19 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association