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

edit menü

Eingetragen von saila (59)
am 19.08.2009 - 10:38 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hi,

es steht eine Frage zum hook_menu an bzgl. edit.

Folgende Situation:

<?php
function name_menu() {
   
$items['node/name/cat/%cat/edit'] = array(
       
'title' => t('Edit name cat'),
       
'page callback' => 'name_cat_page_edit',
       
'page arguments' => array(1),
       
'accesss callback' => 'name_access',
       
'access arguments' => array('edit cat'),
       
'weight' => 1,
       
'file' => 'name_cat.pages.inc',
       
'type' => MENU_NORMAL_ITEM,);
}
?>

Innerhalb der Vewaltung wird eine korrekte Auflistung von cat's ausgeführt. Darin ist nun der Link
zum "bearbeiten" vorhanden. Dieser sieht wie folgt aus:

http://local/node/name/cat/4/edit?destination=admin%2Fcontent%2Fname%2Fcat

Klicke ich nun auf den Link zum bearbeiten, folgt die Seite mit dem Hinweis:
Die Seite wurde nicht gefunden.
Die angeforderte Seite konnte nicht gefunden werden.

Alle im Menü erforderlichen Funktionen sind vorhanden - inkl. file.

Wo liegt der Denkfehler - ich kommme nicht dahinter?

Danke vorab.

‹ Ubercart, iPhone mit XML-RPC wordpress Gallerie nach Drupal ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ist cat_load auch vorhanden?

Eingetragen von traxer (1009)
am 19.08.2009 - 12:51 Uhr
saila schrieb

Alle im Menü erforderlichen Funktionen sind vorhanden - inkl. file.

Wirklich alle? Auch cat_load?

--
XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi, ups nö - ist noch nicht

Eingetragen von saila (59)
am 19.08.2009 - 13:19 Uhr

Hi,

ups nö - ist noch nicht mal definiert :).
Danke.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi, nun ist das mit

Eingetragen von saila (59)
am 19.08.2009 - 16:18 Uhr

Hi,

nun ist das mit cat_load($nid) geregelt. Allerdings erhalte ich keine Zugriffsberechtigung. Oblgeich hierfür noch keine angelegt ist bis auf administer.

Gibt es irgendwo eine genauere Erläuterung zum Thema Zugriffsrechte bzgl. der Funktionen:

hook_perm() und hook_access()?

Eben habe ich noch getesetet, wenn ich als Zugriffsrecht $perm = array('administer', 'edit cat'); hinzufüge. Allerdings ist das Ergebnis das gleiche.

Danke vorab.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Node Access

Eingetragen von traxer (1009)
am 19.08.2009 - 17:07 Uhr

Laut deiner Implementation von hook_menu verwendest du die Funktion name_access um zu prüfen ob der Zugriff auf den Menüeintrag erlaubt ist. Laut deiner Implementation von hook_menu bekommt die Funktion name_access als Parameter eine Zeichenkette, nämlich 'edit cat'. hook_perm und hook_access sind da erst einmal nicht beteiligt.

hook_perm gibt lediglich an, welche Berechtigungen unter index.php?q=admin/user/permissions aufgelistet werden. Ob ein Benutzer eine dort aufgelistete Berechtigung hat, findest du mit der Funktion user_access heraus.

hook_access brauchst du nur, wenn dein Modul einen eigenen Inhaltstyp bereitstellt und du für diesen eine eigene Rechtevergabe schreiben willst. Schau dir dazu mal node_access an:

  1. Wenn die Operation nicht eine von 'view', 'update', 'delete', 'create' ist, dann wird der Zugriff verweigert.
  2. Wenn ein vorhandener Node aktualisiert werden soll, der Benutzer aber nicht das verwendete Eingabeformat benutzern darf, dann wird der Zugriff verweigert.
  3. Wenn der Benutzer Inhalte verwalten darf, dann wird der Zugriff gestattet.
  4. Wenn der Benutzer auf Inhalte nicht zugreifen darf, dann wird der Zugriff verweigert.
  5. Wenn das Modul, das den Inhaltstyp bereitstellt, eine eigene Rechteverwaltung anbietet, dann wird diese befragt. Die eigene Rechteverwaltung kann Zugriff gestatten (true), verbieten (false) und sich enthalten (null).
  6. Wenn laut hook_node_grants und hook_node_access_record ein entsprechender Eintrag vorliegt, dann wird der Zugriff erlaubt.
  7. Wenn der Benutzer den Node anzeigen will und selbst als Autor eingetragen ist, dann wird der Zugriff erlaubt.
  8. Ansonsten wird der Zugriff verweigert.

Diese Liste wird von oben nach unten abgearbeitet und die erste zutreffende Bedingung gibt den Ausschlag. hook_access kommt an fünfter Stelle ins Spiel.

user_access wird auch manchmal ausgeführt, wenn geprüft werden soll ob ein Benutzer Inhalte eines bestimmten Typs anlegen darf. Allerdings nur wenn der Inhaltstyp vom node-Modul selbst bereitgestellt wird. Das verbirgt sich in der Funktion node_content_access, die als Implementierung von hook_access dann im fünften Punkt aufgerufen werden würde.

--
XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für die ausführliche

Eingetragen von saila (59)
am 19.08.2009 - 17:15 Uhr

Danke für die ausführliche Info. Da werde ich mich ersteinmal durcharbeiten.

Eine Frage noch. In der Regel kann man sich ja alle Daten irgendwo mal ausgeben lassen. Z.B. ein array mit print_r($arrray);

Wo bzw. an welcher Stelle wäre das möglich?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Eigentlich überall, am

Eingetragen von traxer (1009)
am 19.08.2009 - 18:01 Uhr

Eigentlich überall, am besten mittels

<?php
drupal_set_message
(htmlentities(print_r($array, true)));
?>
damit du keine Probleme mit noch zu sendenden HTTP-Headern bekommst.

--
XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • 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
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 6 Tagen
  • Hey danke
    vor 2 Wochen 4 Stunden
  • Update: jetzt gibt's ein
    vor 2 Wochen 22 Stunden
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 5 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 5 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 2 Tagen
  • In der entsprechenden View
    vor 3 Wochen 2 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 2 Tagen
  • gelöst
    vor 5 Wochen 6 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 4 Stunden

Statistik

Beiträge im Forum: 250233
Registrierte User: 20452

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» 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 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