[gelöst] Funktionen in template.php werden TEILWEISE nicht ausgeführt
am 28.06.2012 - 10:59 Uhr in
Hallo Freunde. =)
Bin nun seit einiger Zeit damit beschäftigt eine statische Homepage auf Drupal umzusetzten (mit einem eigens erstelltem Template).
So weit so gut.
Da ich nun an der Menu-Gestaltung bin, besser gesagt das Submenu (2. Level von Main-Menu), wollte ich die HTML Ausgabe von Drupal ein wenig anpassen.
Nun ist es so dass ich mir zuvor schon einmal eine Funktion für den Breadcrumb geschrieben habe, welche auch wunderbar funktioniert.
Wenn ich nun aber weitere Funktionen in die template.php einfüge, werden diese einfach nicht ausgeführt.
Ich habe diese genau so deklariert wie die des Breadcrumbs und wie es auch überall beschrieben steht.
z.B.
function bilderprofi_menu_build_tree($menu = 'primary-links', $title)
{
...
}(bilderprofi ist das Template)
Habe einige weitere Funktionen ausprobiert, doch kein Erfolg bei den Menü Funktionen.
Daher habe ich mir gedacht, ich installiere mir das Modul NiceMenus und versuche es damit.
Und siehe da, die Funktion
function bilderprofi_nice_menus_build($variables)
{
...
}lässt sich überschreiben.
Da mir aber NiceMenus nicht wirklich das liefert was ich brauche (viel zu viel Overhead) und ich eigentlich einfach nur die Submenu Generierung von Drupal direkt bearbeiten möchte, muss das doch auch mit den normalen Funktionen funktionieren?!!??
Kann mir hier vielleicht jemand unter die Arme greifen?
Vielen Lieben Dank!!
- Anmelden oder Registrieren um Kommentare zu schreiben

Dann solltest Du auch nach
am 28.06.2012 - 12:25 Uhr
Dann solltest Du auch nach der "richtigen" Funktion suchen. Bei Drupal 7 gibt es da einige Funktionen, die mit theme_menu anfangen und Du suchst entweder [api:theme_menu_tree] oder [api:theme_menu_link]. Theme_menu_build_tree gibt es nicht.
Beste Grüße
Werner
Erst einmal Danke für die
am 28.06.2012 - 14:45 Uhr
Erst einmal Danke für die Antwort.
Okay, somit weiß ich wenigstens warum ich im Anfänger-Forum unterwegs bin. ;)
Also bin ich hier
http://api.drupal.org/api/drupal/includes%21menu.inc/group/menu/7
nicht richtig um die überschreibbaren Funktionen nach zu sehen?
Nichts desto trotz habe ich nun schnell deine beiden Vorschläge ausprobiert, und siehe da, der Rumpf wird zumindest schon einmal ausgeführt.
Aber nur nachdem ich über das Admin Menü den gesamten Cache geleert habe. Soll dies so sein, oder ist hier auch schon ein Bug versteckt?
Eine Frage noch:
Kann man irgendwo heraus finden wie genau das Menu-Array aufgebaut ist? Oder muss man sich selbst durch print_r einen Überblick verschaffen?
Vielen Dank!
Alle Funktionen, die Du im
am 28.06.2012 - 16:59 Uhr
Alle Funktionen, die Du im Theme überschreiben willst, haben einen Fuktionsnamen, der mit theme anfängt. Nach allen Änderungen am Theme muß der Theme-Cache gelöscht werden, das ist kein Bug sondern Absicht.
Strukturen kannst Du entweder mit print_r anzeigen lassen (wie Du schon angegeben hast) oder Du setzt das Devel-Modul ein und nutzt dessen Funktionen wie dsm().
Beste Grüße
Werner
SUPER!! Genau so etwas wie
am 28.06.2012 - 17:43 Uhr
SUPER!!
Genau so etwas wie dieses dsm() -> dprint_r() habe ich gesucht!
Vielen Lieben Dank.
PS: Das mit dem Menü umstrukturieren habe ich nun mit der Funktion
function THEME_menu_link__MENU_NAME($variables){
...
}
gelöst.