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

Menü dynamisch erweitern

Eingetragen von benny1979 (119)
am 18.11.2009 - 00:46 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hallo,

ist es möglich, unterhalb eines speziellen Hauptmenüpunkts dynamisch Untermenüpunkte aus einer externen Quelle einzufügen (hook_menu?)? Und falls ja, kann das Zugriffsrechte-System dann den Zugriff auf diese in der Drupal-Datenbank nicht existenten Menüpunkte beschränken?

VG,
Benny

‹ Spalte 'data' in Tabelle users Formularausgabe anpassen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

benny1979 schrieb ...

Eingetragen von traxer (1009)
am 18.11.2009 - 11:55 Uhr
benny1979 schrieb

... dynamisch Untermenüpunkte aus einer externen Quelle einzufügen (hook_menu?)?

Sobald man PHP einsetzt (also insbesondere auch Drupal), sollte man das Wort dynamisch aus seinem Vokabular streichen. PHP erzeugt dynamisch HTML-Seiten. Etwas in Zusammenhang mit PHP als dynamisch zu bezeichnen erhöht also nicht den Informationsgehalt der Aussage.

Am einfachsten wäre wohl der Weg über hook_menu. Als Page Callback kannst du drupal_goto nehmen und die Ziel-URL übergibst du in den Page Arguments. Dann steht dir auch die komplette Bandbreite an Zugriffskontrolle zur Verfügung.

Die Datenbanktabellen für das Menü werden selten neu befüllt, du müsstest also in periodischen Abständen ein Neubau der Tabellen anstoßen: hook_cron, menu_rebuild.

Schau dir auch menu_link_save an: da du in hook_menu nicht nur einen Callback anlegst, sondern ihn auch im Navigationsmenu abbilden willst, musst du die plid der übergeordneten Seite angeben. Ich weiß nicht ob du das direkt in hook_menu machen kannst, oder ob du dazu hook_menu_link_alter implementieren musst.

--
XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hook_menu für eigene module

Eingetragen von bronco (21)
am 26.11.2009 - 20:02 Uhr

Hallo Leute,
hab gerade diesen hilfreichen Thred gefunden, da ich selber fast genau das gleiche Problem habe. Natürlich bin ich auch ein Drupal Neuling und überwältigt wie geil das eigentlich ist. Lobpreisungen werden verkürzt durch das Wort an sich dargestellt.

Zu meinem Beitrag: Also ich habe es jetzt geschafft einene Menü Punkt über Hook_menu einzuspeisen. Der Link wird dann über eine Callback Funktion aufgerufen und dann via drupal_goto() ausgeführt. Funktioniert alles perfekt! Danke für den Tipp an dieser Stelle. Nun zu meinem Problem. Wenn ich nun das Menü Unterpunkt Navigation aufrufe führt dies zu einer Fehlermeldung die zweifelsfrei auf meinen Menüpunkt zurück zu führen ist.
Fatal error: Unsupported operand types in /home/website/public_html/includes/common.inc on line 1573

Habe meinen Menü Punkt mal aus der Db gelöscht und es ging wieder. Konnte den Fehler eingrenzen und denke das es an dem plid Eintrag liegen könnte. Der ist nämlich 0 in der DB. Jetzt kommt meine Frage ist für genau diesen Fehler hook_menu_link_alter() zuständig? Diesen Hook habe ich nämlich gar nicht benutzt bisher, da ich dachte das dies alles "automatisch" über hook_menu ausgeführt wird.

Ich habe schon ein wenig rumgesucht nur leider nicht wirklich eine befriedigende Antwort für mich erfunden, die mir das Verständnis für das Problem vor Augen führt. So eine Antwort wie von traxer wäre super! Klar deutlich und verständlich. Für Newbees halt...
Danke schonmal

  • Anmelden oder Registrieren um Kommentare zu schreiben

Zitat:Jetzt kommt meine

Eingetragen von stebeg (463)
am 27.11.2009 - 12:39 Uhr
Zitat:

Jetzt kommt meine Frage ist für genau diesen Fehler hook_menu_link_alter() zuständig?

Nö, wie sollte er auch wenn du diesen in deinem Modul nicht implementiert hast?

Zitat:

da ich dachte das dies alles "automatisch" über hook_menu ausgeführt wird

wird es auch. Wenn es zu einem Fehler kommt, dann hast du in deinem Modul etwas falsch programmiert. Zeig doch mal deinen Code. Eventuell findet jemand den Fehler.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke stebeg für deine

Eingetragen von bronco (21)
am 27.11.2009 - 14:13 Uhr

Danke stebeg für deine schnelle Antwort. Ich hab den Code mal angehangen evt. fällt euch ja auf wo ich einen Fehler gemacht habe.

<?php

function user_tracker_menu() {

     
$items['Tracker'] = array(
       
'title'         => 'User Tracker',
       
'description'         => 'User Login Link zum persönlichen Website Tracker',
       
'page callback'     => 'user_tracker_login_link',
       
'access callback'     => 'user_access',
       
'access arguments'     => array('access tracker login link'),
       
'type'                 => MENU_NORMAL_ITEM,
      );
   
      return
$items;
}


function
user_tracker_login_link(){

  global
$user, $base_url;
 
 
drupal_goto($base_url.'/sites/all/modules/contrib/user_tracker/tracker/index.php', 'module=Login&action=logme&login='.$user->name.'&password='.$user->pass, $fragment = NULL, $http_response_code = 302);

}
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

gelöst

Eingetragen von bronco (21)
am 02.12.2009 - 02:41 Uhr

Das Problem ist ganz einfach! Ich bin durch Zufall darauf gestoßen. Es ist das ö !!! Das hat das Modul am arbeiten gestört!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (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
Weiter

Neue Kommentare

  • Was für einen Server benutzt
    vor 4 Tagen 5 Stunden
  • Wenn die Subdomain auf
    vor 6 Tagen 3 Stunden
  • ordnerstruktur
    vor 6 Tagen 14 Stunden
  • Die Subdomain muß auf den
    vor 1 Woche 1 Tag
  • Verwende doch das Tag dafür,
    vor 4 Wochen 3 Tagen
  • Guckst du hier: step by step
    vor 4 Wochen 3 Tagen
  • Guckst du hier: step by step
    vor 4 Wochen 3 Tagen
  • Ich habe ja keine Angst vor
    vor 5 Wochen 5 Tagen
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 6 Wochen 1 Tag
  • Vielen Dank erst einmal, aber
    vor 6 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250289
Registrierte User: 20513

Neue User:

  • Scottteday
  • MichaelPeeno
  • Pavlotog

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