Anfänger: Menueintrag
Eingetragen von RomanDrechsel (15)
am 10.02.2009 - 16:28 Uhr in
am 10.02.2009 - 16:28 Uhr in
Hi,
ich beschäftige mich erst seit ein paar Tagen mit Drupal.
Ich habe mir ein kleines Modul geschrieben, welches Nutzer mit einer bestimmten Rolle ausgibt.
Dazu soll auch ein Menu-Eintrag gehören. Der wird aber nur beim Admin-User angezeigt, bei anderen Usern fehlt er.
Hier mal die Menu-Funktion:
<?php
function members_menu() {
$items = array();
$items["members"] = array(
'title' => t('Members'),
'page callback' => 'members_anzeigen',
'page arguments' => array(""),
'access arguments' => TRUE,
'type' => MENU_NORMAL_ITEM,
'weight' => 1
);
return $items;
}
?>
Woran liegt das?
Gruß
- Anmelden oder Registrieren um Kommentare zu schreiben
access arguments
am 11.02.2009 - 09:02 Uhr
Moin!
http://www.drupalcenter.de/handbuch/15684
Der Wert, den Du in "access arguments" angibst, wird an die Funktion
user_access
übergeben (also zum Beispiel der Name der Berechtigung, die für die Anzeige dieser Seite benötigt wird). Mach Dir doch eine kleine Hilfsfunktion (_members_access()
), in der Du einfachreturn TRUE;
schreibst. Damit sollte dann der Menüpunkt für alle Benutzer sichtbar sein.Davon mal abgesehen (und von dem Spass, den man beim Schreiben von eigenen Modulen hat): eine Liste der Nutzer einer bestimmten Rolle kannst Du Dir auch mit dem Modul Views anzeigen lassen.
hth,
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Hi, ich hab mir jetzt eine
am 11.02.2009 - 16:46 Uhr
Hi,
ich hab mir jetzt eine Hilfsfunktion geschrieben:
<?php
function _members_access() {
return TRUE;
}
?>
und in der members_menu() dann
<?php
'access arguments' => _members_access(),
?>
Leider funktioniert das immernoch nicht.
Ich versteh auch nicht so ganz, wie das genau mit den Berechtigungen funktioniert. Vielleicht kann mir jemand weiterhelfen.
Gruß
Evtl. ein Ansatz
am 11.02.2009 - 17:55 Uhr
Hi,
ich beschäftige mich seit 4 Tagen mit Drupal und bin somit auch erst neu im Thema. Was meine bisherige Erfahrung hier im Forum angeht - meist recht simple Erklärungen (bis auf eine Ausnahme) mit einem Backlink. Das war es in der Regel. Wobei ich mal davon ausgehe, dass hier auch nicht die Drupal-Fortgeschrittenen/Experten rumschwirren. Somit bin ich bislang enttäuscht von dem Forum.
Zu deiner Eingangsfrage: Da du ein Modul geschrieben hast (oder dabei bist), wirst du sicherlich eine Datei deinmodul.module erstellthaben. Darin gibt es sicherlich den Eintrag hook_menu() bzw. deinmodul_menu(). Da es weder eine Übersicht zu den entsprechenden Zugängen gbit, welche in der Menüerzeugung relevant sind, würde ich den Ansatz in dem Modul comment unter comment.module und dem darin befindlichen Menüaufbau (comment_menu()) suchen. Da gibt es sicherlich einen Ansatz.
Viel Glück weiterhin beim suchen (gehe hier von mir selbst aus) ;).
access arguments
am 11.02.2009 - 20:28 Uhr
Moin!
<?php
'access arguments' => _members_access(),
?>
Leider funktioniert das immernoch nicht.
Ja, das ist so auch nicht gaz richtig.
<?php
'access callback' => '_members_access',
?>
So könnte das etwas werden :-) (siehe Handbuchseite!).
hth,
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Soweit funktioniert es
am 12.02.2009 - 10:33 Uhr
Soweit funktioniert es jetzt.
Jetzt möchte ich noch einen Link haben, zu weiterführenden Details der Members
also
<?php
$items["members/%id"] = array(
[..]
)
?>
wie muss ich hier vorgehen, dass ich auf die ID (%id) zugreifen kann?
Gruß
Handbuch
am 12.02.2009 - 10:48 Uhr
Moin!
wie muss ich hier vorgehen, dass ich auf die ID (%id) zugreifen kann?
"... steht im Buch. Steht überhaupt alles im Buch..."
http://www.drupalcenter.de/handbuch/15684 und dessen Nachbarn.
hth,
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Danke
am 12.02.2009 - 11:12 Uhr
Ok, habs hinbekommen.
Vielen Dank ;)