[Gelöst] Wo finde ich die Funktion, mit der die Links im Primary-Menu ausgegeben werden
am 25.03.2009 - 17:04 Uhr in
Hallo,
langsam bin ich am Verzweifeln. Vielleicht habe ich auch Drupal noch nicht richtig verstanden.
Ich möchte die Links im Primary-Menu umschreiben, so daß sie hinter einem Bild liegen:
<a href="internerDrupalLink"><img src="verweisaufsbild.jpg"></a>
nur finde ich nirgends einen Anhaltspunkt dazu, welche Funktion im Menu.inc diesen Code ausgibt. Welche Funktion schreibt das Array für $link
und wo wird der Code für den Link z.B. <a class="active" title="EinLink" href="/drupal/EinLink">Leistungen</a>
zusammengesetzt.
Die API-Doc zu D6 ist mir keine so wirkliche Hilfe.
Wer kann helfen?
---Edit---
die gesuchte Funktion befindet sich in der Common.inc ab Zeile 1535 in D6
gefunden Dank: toila.net ist zwar für D5, war aber trotzdem hilfreich :-)
---Edit---
Danke im Voraus,
Christian
- Anmelden oder Registrieren um Kommentare zu schreiben
im Theme
am 25.03.2009 - 17:38 Uhr
Der Code wird in dem von dir eingestellten Theme zusammengesetzt. Normalerweise in der entsprechenden page.tpl.php. Hier 'ensteht' der HTML-Code deiner Seite (bzw. ein Teil davon). Hier ist auch der Bereich, in dem Änderungen am Aussehen gemacht werden. Bilder lassen sich anschließend am einfachsten über die entsprechende .css-Datei einfügen. Wenn du mir sagst welches Theme du benutzt kann ich dir da evtl. genaueres zu sagen.
Gruß
ShenLung
Ich baue mir selber ein
am 25.03.2009 - 17:45 Uhr
Ich baue mir selber ein Theme zusammen und eben dort soll das Primary-Menu nur mit Bildern navigieren anstatt mit Text-Links*.
Ich habe mir gerade die Funktion
l()
(siehe Edit in meiner Anfangsfrage) umbenannt und umgeschrieben. Nun bin ich am suchen, wie ich diese Funktion nur beim Primary Menu anwenden kann -> integrieren in die template.php.*Ich benutze da ein Slider-Menu, das ich auf eine JQuery-Demo-Seite gefunden habe und eben solches möchte ich nur mit Bildern realisieren - da ich plane diese Bilder in regelmäßigen Abständen auszutauschen.
Danke trotzdem, Christian
nix is gelber, als gelb selber
Erklärung
am 26.03.2009 - 15:25 Uhr
Also, nach langem Suchen im WWW und selber testen kam ich zu folgender Lösung:
laut http://drupal.org/node/289129 kann man die Funktion
theme_links()
(Theme.inc / Z. 1135) umschreiben, so daß sie alle Links anders ausgibt. Will ich aber nicht, nur die Links im Hauptmenü/Primary Links.Die Funktion enthält den Code, mit dem die Links des Menus als Liste ausgegeben werden (und ruft gleichzeiting noch die Funktion
l()
(Common.inc/Z. 1535) auf) - mit diesen beiden Funktionen kann ich die Links von Primary-Menu umschreiben. In der page.tpl.php wird das Primary-Menu mitprint theme('links', $primary_links, array('class' => 'links primary-links'))
aufgerufen. Das veranlasst, daß die Funktion theme_links() die Links bearbeitet und ausgibt. Die Funktion kopieren und in die template.php einfügen und gemäß dem eigenen Theme umbenennen. Da die Links für das Primary-Menu mit 'links primary-links' übergeben werden, baut man sich dann in die eigene theme_links eine Weiche mit ifthenelse, welche dort die Variable $attributes auf den Inhalt 'links primary-links' prüft. Die else-Verzweigung geht zum originalen Code und die if geht auf den eigenen Code.
Um die Links umzuschreiben so wie man sie braucht, kopiert man oben genannt Funktion
l()
auch in die template.php, benennt sie um und ruft sie dann oben in der eigenen theme_links() auf.Und schon kann man alles damit, machen was man will - sobald das Theme fertig ist, sage ich Bescheid.
der C.
nix is gelber, als gelb selber