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

  • gepatchte PHP Version 7.4 für Windows
  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Hilfe zu Updates oder Composer
  • Vergleich Drupal und Contao
  • [geloest] Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • DrupalCamp Frankfurt 27-28 November 2026
  • Bitte mein Bentzerkonto löschen
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
Weiter

Neue Kommentare

  • Muss ja nicht genau php 8.3 sein
    vor 1 Woche 2 Tagen
  • Guten morgen und Danke
    vor 1 Woche 3 Tagen
  • Evtl. versuchen auf PHP 8 zu wechseln
    vor 1 Woche 3 Tagen
  • Danke Schmittrich. Die Frage
    vor 1 Woche 5 Tagen
  • Keine Antwort auf die Frage nach dem Woher
    vor 1 Woche 5 Tagen
  • Danke ich werde mir die
    vor 7 Wochen 2 Tagen
  • Vielen Dank für Ihren
    vor 7 Wochen 5 Tagen
  • Composer ist sehr ratsam
    vor 8 Wochen 17 Stunden
  • Vielen Dank für den
    vor 8 Wochen 3 Tagen
  • Die alten CMS Vergleiche von contentmanager.de
    vor 8 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250323
Registrierte User: 20573

Neue User:

  • alxshell
  • AnthonyhoF
  • Philiphelve

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 10 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