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 - 23: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 - 23:57 Uhr

Kener eine Idee? :-(

  • Anmelden oder Registrieren um Kommentare zu schreiben

fraweg schriebKener eine

Eingetragen von SteffenR@drupal.org (2261)
am 11.01.2013 - 19: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

http://www.twitter.com/_steffenr
Drupal-Initiative e.V.

undpaul

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Steffen,Vielen Dank

Eingetragen von fraweg (230)
am 11.01.2013 - 21: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 (2261)
am 12.01.2013 - 14: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

http://www.twitter.com/_steffenr
Drupal-Initiative e.V.

undpaul

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Dank Nochmals für

Eingetragen von fraweg (230)
am 12.01.2013 - 15: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 (2261)
am 12.01.2013 - 17: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

http://www.twitter.com/_steffenr
Drupal-Initiative e.V.

undpaul

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Steffen,nochmals

Eingetragen von fraweg (230)
am 12.01.2013 - 18: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 (2261)
am 12.01.2013 - 18:51 Uhr

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

SteffenR

http://www.twitter.com/_steffenr
Drupal-Initiative e.V.

undpaul

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • PHP 8.1 - Deprecated function: rtrim()
  • Preloader / Spnner entfernen Menu Link Modal-Modul
  • Schriftgröße standard einstellen
  • Drupal Website gestalten
  • MariaDB 10.6
  • Entity Reference - Title Felder werden als Link angezeigt
  • Tokens werden in Viev als Link angezeigt
  • [bug entdeckt & workaround gefunden] benutzerdefinierte Felder vom Userprofil tauchen ungefragt auch in den Forumtopics auf...
  • [gelöst] Mass contact Empfängerliste nach Taxonomy Term statt Rolle
  • Update V. 9.3.12 auf V. 9.4 mit Fehler: Modul mySQL fehlt. Bitte Hilfe.
  • Sprachpfad, in Drupal Korrekt einstellen, auch bei den Meta-Tags
  • Update von Drupal 9.3 auf 9.4 oder bei 9.3 bleiben
Weiter

Neue Kommentare

  • Danke fürs Feedback. Gut dass
    vor 1 Tag 14 Stunden
  • Patch angewandt
    vor 1 Tag 17 Stunden
  • core_version_requirement: ^8
    vor 3 Tagen 19 Stunden
  • core_version_requirement: ^8
    vor 3 Tagen 19 Stunden
  • ok. Wenn ich das mache
    vor 3 Tagen 19 Stunden
  • Bei gleichem Namen hat das
    vor 3 Tagen 19 Stunden
  • Sorry, dass ich mich hier
    vor 3 Tagen 20 Stunden
  • Habe Patch versucht
    vor 4 Tagen 2 Stunden
  • Hier wird ein Patsch
    vor 4 Tagen 4 Stunden
  • Mit Drupal geht das um 150
    vor 4 Tagen 16 Stunden

Statistik

Beiträge im Forum: 247866
Registrierte User: 19592

Neue User:

  • Davidsnins
  • kudes
  • Tkakah

» Alle User anzeigen

User nach Punkten sortiert:
wla9213
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3845
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 1 Benutzer und 3 Gäste online.

Benutzer online

  • drubb

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