Warum funktioniert das nicht?
Eingetragen von ozon (523)
am 24.11.2007 - 15:19 Uhr in
am 24.11.2007 - 15:19 Uhr in
Eins vorweg - ich könnt mächtig kotzen.
Eigentlich wollte ich nur die Tabs abändern - jedoch funktionierte das nicht.
Jetzt fummel ich schon stundenlang am Code und bin jetzt schon zurück zu einfachen Menü Einträgen.
Das funktioniert auch nicht.
Ich habe ein Modul mit folgenden Inhalt erstellt;
<?php
// $Id$
/**
* Implementation of hook_menu().
*/
function mymenu_menu($may_cache) {
$items = array();
if ($may_cache) {
$items[] = array(
'title' => t('Greeting'),
'path' => 'mymenu',
'callback' => 'mymenu_hello',
'access' => TRUE
);
}
return $items;
}
function mymenu_hello() {
return t('Hallo!');
}
Ich habe den code vom Buch Pro Drupal Development abgetippt.
Seite 34
Doch nichts funktioniert.
Der Menüeintrag ist nicht da und auch domain/?q=mymenu liefern nur ein "Site nicht gefunden".
Warum nicht? kann dass mal jemand bitte testen?
- Anmelden oder Registrieren um Kommentare zu schreiben
leere einfach mal den
am 24.11.2007 - 16:00 Uhr
leere einfach mal den Menücache mit dem Module DEVEL
bzw. verwenden
<?php
// $Id$
/**
* Implementation of hook_menu().
*/
function mymenu_menu($may_cache) {
$items = array();
$items[] = array(
'title' => t('Greeting'),
'path' => 'mymenu',
'callback' => 'mymenu_hello',
'access' => TRUE
);
return $items;
}
function mymenu_hello() {
return t('Hallo!');
}
?>
Mein Blog: www.freeblogger.org
Deutscher IRC-Channel: irc.freenode.net #drupal.de je mehr desto besser
... Jabber-me: dereine@jabber.ccc.de Warum Jabber?
Schlecht wäre es auch nicht
am 24.11.2007 - 16:50 Uhr
Schlecht wäre es auch nicht gewesen den Thread-Titel beschreibender zu gestalten.
"I invented the term Object-Oriented, and I can tell you I did not have C++ in mind." -Alan Kay
Suchmaschinenoptimierung (SEO) & Drupal
wenig sinnvolle Überschrift, präzisiere die Problembeschreibun
am 24.11.2007 - 18:30 Uhr
Mal abgesehen von Deiner wenig sinnvollen Ueberschrift des Thread "Warum funktioniert das nicht?" - genau deswegen sind ja die meisten Post's in diesem Forum - ist Deine Problembeschreibung in keiner Weise geeignet Dein Problem zu klaeren.
Der hook_menu arbeitet nicht eigenstaendig in Deinem Modul. Was ist mit den anderen Hooks? Erzeugst Du mit dem Modul einen neuen Inhaltstyp? Was ist das fuer ein Pfad
'path' => 'mymenu',
? Wo gehoert der hin? Zu einer Node? Wo und wann soll Dein Menue erscheinen?Bist Du Dir im Klaren das es eigentlich sinnlos ist
domain/?q=mymenu
aufzurufen. Ist Dir noch nicht aufgefallen, das meist in der URL eine node gefolgt von einer Ziffer mit einem weiteren edit im Falle der Bearbeitung einer Node aufgerufen wird?Was also soll dann mit
http://www.example.de/?q=mymenu
angezeigte werden? Ein einzelnes Menue?Wenn Du also Antwort moechtest praezisiere bitte Deine Problembeschreibung und mache es etwas ausfuehrlicher.
PS
Im Forum gibt es den Bereich Modul-Entwicklung. In diesem Bereich empfehle ich Dir den ersten Post "Für alle Modul-Entwickler" zu lesen und den Links mit "node_example" und "Hooks" zu folgen.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Ok, ich muss zugeben, das es
am 25.11.2007 - 13:26 Uhr
Ok, ich muss zugeben, das es dem Post ein wenig an Sachlichkeit fehlt.
Aber, ich habe das beschriebene Modul aus dem Buch übernommen.
Wer das Buch zur Verfügung hat, möge doch mal bitte die Seite aufschlagen.
Letztendlich sollte das doch funktionieren.
Es ist eher ein Beispiel, deswegen z.b domain.de/?q=mymenu - was ich auch dem Buch entnommen habe.
Ursprünglich wollte ich in den Tabs neue Menüpunkte einbinden was nicht funktionierte. Deswegen bin ich zurück auf einfache Menü Einträge.
Das Problem, das Modul funktioniert nicht. Es soll einfach ein neuen Menüeintrag erstellen und bei einem Aufruf den callback mymenu_hello aufrufen - was wiederum auf der Site ein "Hallo" ausgibt. Da alle meine Versuche und selbst das kleine Beispiel scheiterten bin ich mehr oder weniger am verzweifeln und wende mich nun an das Forum.
Also, was soll das Modul tun - laut Buch;
- Einen neuen Menüeintrag dynamisch erstellen
- Beim Aufruf einfach ein "Hello" ausgeben
Wie gesagt, ich würde mich freunen wenn jemand das Modul antesten könnte.
Nun werde ich mich durch den Thread "Modul-Entwicklung" wühlen und das Modul selber nochmal komplett neu eingeben.
Ich wünsch euch einen schönen Sonntag ;).
--
ozon - http://mumble-tower.de | DVC - Der Voice Chat für Drupalisten | Jabber: ozon@jabber.ccc.de
also bei mir gehts.
am 25.11.2007 - 14:00 Uhr
also bei mir gehts.
Menü erscheint. klick drauf bringt mich auf ne seite wo folgendes steht.
Greeting
Hallo!
Das Problem liegt also woanders. welche version nutzt du, welche module sind installiert, erreichst du die installation über ne subdomain, oder über nen ordner... kann alles sein, sorry ;-)
» forward-media.de Drupal Entwicklung | Drupal Tutorials
Danke!
am 25.11.2007 - 15:38 Uhr
Danke,
somit kann ich schon mal ausschließen das es am Code selber liegt.
Ja, ich benutze eine Subdomain. Desweiteren setze ich CCK, Views und FiveStars unter Drupal 5.3 ein.
--
ozon - http://mumble-tower.de | DVC - Der Voice Chat für Drupalisten | Jabber: ozon@jabber.ccc.de
hmmm ... der link erscheint
am 25.11.2007 - 16:23 Uhr
hmmm ... der link erscheint bei dir aber auch, oder?
was steht denn in der adresszeile vom browser wenn du den link klickst?
» forward-media.de Drupal Entwicklung | Drupal Tutorials
quiptime wrote: Bist Du Dir
am 25.11.2007 - 18:53 Uhr
Bist Du Dir im Klaren das es eigentlich sinnlos ist
domain/?q=mymenu
aufzurufen. Ist Dir noch nicht aufgefallen, das meist in der URL eine node gefolgt von einer Ziffer mit einem weiteren edit im Falle der Bearbeitung einer Node aufgerufen wird?Was also soll dann mit
http://www.example.de/?q=mymenu
angezeigte werden? Ein einzelnes Menue?Das ist überhaupt nicht sinnlos. Ganz im Gegenteil.
Ein Menüeintrag muss nicht in jedem Fall einen Node aufrufen. Über den 'callback' kann jede nur erdenkliche PHP- oder Drupal-Funktion aufgerufen werden. Das machen auch sehr viele Module. Buddylist z.B. hat nichts mit Nodes zu tun und stellt Menüitems wie 'Buddylist' zur Verfügung.
vg
--
md - DrupalCenter
mdwp* :: Drupal Services
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services
domain/?q=mymenu als URL ist
am 30.11.2007 - 15:37 Uhr
domain/?q=mymenu als URL ist schon eher sinnlos wenn mymenu ein callback zum Menuebearbeiten ist.
Da es in dem Beispiel um ein Menue geht entsteht die Frage was ein einzelnes Menue, aufgerufen per URL und selbst wenn es ein callback ist, ausgeben soll. Der Callback im Beispiel soll ein Menue erstellen/aendern. Soll das Menue mit dem URL Auruf solo ohne weitere Inhalte auf der Website angezeigt werden? Das ist wohl doch eher sinnlos.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Ob sinnlos oder nicht. Es
am 30.11.2007 - 15:44 Uhr
Ob sinnlos oder nicht. Es ist ein Beispiel was aus dem Buch "Drupal Pro Development" stammt.
Es funktioniert nicht, nicht weil der Code mist ist, sonder weil meine DrupalInstallation gar keinen php-Code mehr parsen mag.
Der Code tut das richtige. Menü erstellen - beim Click darauf oder dem Aufruf per ?q=mymenu, den Callback ausführen und der text "Hello..." erscheint.
Ich kann im Modul oder in einer Node;
<?php
schnick,schnack - die welt ist toll
?>
reinschreiben - es gibt noch nicht mal eine Fehlermeldung das der Code nicht geparst werden kann.
Dazu hab ich auch schon einen neuen Thread aufgemacht.
--
ozon - http://mumble-tower.de | DVC - Der Voice Chat für Drupalisten | Jabber: ozon@jabber.ccc.de
Genau, es geht nicht um die
am 30.11.2007 - 17:39 Uhr
Genau, es geht nicht um die Sinnhaftigkeit. Das Howto sagt aber garantiert nicht ... URL:
http://www.exa ... q=mymenu
...Den anderen Thraed habe ich gelesen.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Das Beispiel aus dem Buch
am 30.11.2007 - 18:18 Uhr
Das Beispiel aus dem Buch ruft folgendes auf:
http://example.com/?q=mymenu
Drupal verwaltet URLs im Menu System. Es ist nur ein Funktions-Mapping. Ob die Funktion einen Node, also Inhalt ausgibt, oder den Toaster anschaltet ist völlig beliebig. :)
» forward-media.de Drupal Entwicklung | Drupal Tutorials