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

edit menü

Eingetragen von saila (59)
am 19.08.2009 - 11: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 - 13: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 - 14: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 - 17: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 - 18: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 - 18: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 - 19: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

  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • 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.
  • [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
Weiter

Neue Kommentare

  • Arrrrg. Nix Tabelle :-D /*
    vor 3 Wochen 6 Tagen
  • Textboxen mit Tabelle
    vor 4 Wochen 4 Stunden
  • Du sollst ja auch keine
    vor 4 Wochen 4 Stunden
  • Theme
    vor 4 Wochen 5 Stunden
  • Welches Theme benutzt du
    vor 4 Wochen 10 Stunden
  • Mit Responsive Raster hatte
    vor 4 Wochen 1 Tag
  • Hallo Alex,um das Häkchen
    vor 4 Wochen 1 Tag
  • Modul view_unpublished
    vor 4 Wochen 2 Tagen
  • Modul "override node options"
    vor 4 Wochen 3 Tagen
  • Im Grunde ist dass ein
    vor 4 Wochen 5 Tagen

Statistik

Beiträge im Forum: 250270
Registrierte User: 20483

Neue User:

  • Aathivithyah
  • Aoirhic
  • Stevebok

» Alle User anzeigen

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