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

[Gelöst] hook_menu_alter: Tab nur dann anzeigen lassen, wenn Mitglied bestimmte Berechtigung fehlt

Eingetragen von Peter Majmesku (656)
am 20.10.2010 - 17:47 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hi,

ich möchte gerne folgenden Tab anzeigen lassen, wenn dem Mitglied die Berechtigung zu "create instant_buy products" fehlt.

  $items['user/%user/../../node/add/foobar'] = array(
   'title' => 'Foobar',
   'page callback' => 'alternative_auction_object',
   'page arguments' => array(1, 'user'),
    'access callback' => 'user_access',
    'access arguments' => array('access content'),
    'type' => MENU_LOCAL_TASK,
    'weight' => 99,
  );

Weis jemand, was ich angeben muss?

‹ hook_form_alter Problem Ubercart: abgeschlossene Paypal-Zahlungsprozesse prüfen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Probier mal, ob das über

Eingetragen von Exterior (2903)
am 20.10.2010 - 18:58 Uhr

Probier mal, ob das über einen eigenen access_callback funktioniert:

<?php
function my_module_menu_alter(&$items)
  {
   
$items['user/%user/../../node/add/foobar'] = array(
     
'title' => 'Foobar',
     
'page callback' => 'alternative_auction_object',
     
'page arguments' => array(1, 'user'),
     
'access callback' => 'my_module_own_access_callback',
     
'access arguments' => array('create instant_buy products'),
     
'type' => MENU_LOCAL_TASK,
     
'weight' => 99,
    );
   
   
//und noch der ganze Rest von hook_menu_alter...
 
}
 
function
my_module_own_access_callback($access_string)
  {
   
//User laden, damit dessen Rechte geprüft werden können
   
global $user;
   
   
$value = '';
   
   
/* $value mit dem Gegenteil der user_access-Funktion belegen
       (wenn user die Berechtigung nicht hat, ist user_access FALSE
        --> $value ist TRUE
        --> access_callback ist TRUE und der User sieht den Tab)
    */
   
$value = !user_access($access_string, $user))
         
    return
$value;   
  }    
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Dickes Ding!

Eingetragen von Peter Majmesku (656)
am 20.10.2010 - 22:47 Uhr

Hi Exterior,

dein Code ist phantastisch. Es klappt haargenau wie ich es will. Vielen herzlichen Dank!

- j

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Drupal CMS installieren
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • 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.
Weiter

Neue Kommentare

  • Ich habe ja keine Angst vor
    vor 1 Tag 4 Stunden
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 3 Tagen 10 Stunden
  • Vielen Dank erst einmal, aber
    vor 5 Tagen 3 Stunden
  • Du hast die "Trusted host
    vor 5 Tagen 12 Stunden
  • Bitte genauer den aktuellen Lösungs-Ansatz beschreiben
    vor 2 Wochen 4 Tagen
  • Git und rsync sind die wichtigsten Werkzeuge
    vor 3 Wochen 22 Stunden
  • Arrrrg. Nix Tabelle :-D /*
    vor 7 Wochen 3 Tagen
  • Textboxen mit Tabelle
    vor 7 Wochen 3 Tagen
  • Du sollst ja auch keine
    vor 7 Wochen 3 Tagen
  • Theme
    vor 7 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250281
Registrierte User: 20494

Neue User:

  • Robertolix
  • DavidBit
  • JeraldZeF

» Alle User anzeigen

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