Joomla! Forum Schweiz wird Teil der D-A-CH Community

Nach vielen Jahren als zentrale Anlaufstelle für Fragen rund um Joomla! in der Schweiz wird das Joomla! Forum Schweiz künftig als Archiv weitergeführt.

Die Joomla!-Communities aus Deutschland, Österreich und der Schweiz arbeiten heute enger denn je zusammen. Deshalb bündeln wir künftig auch den deutschsprachigen Support und Austausch an einem gemeinsamen Ort im Joomla! D-A-CH Forum.

Für neue Fragen, Diskussionen und den Austausch mit der Community nutzt bitte ab sofort:

forum.joomla.de

Das Joomla! Forum Schweiz bleibt weiterhin bestehen und wird als Archiv im Lesemodus erhalten. Die vielen Beiträge, Lösungen und Erfahrungen aus den vergangenen Jahren bleiben damit weiterhin zugänglich und über die Suche auffindbar.

Wir bedanken uns herzlich bei allen Mitgliedern, Moderatoren und Helfern, die das Schweizer Joomla! Forum über viele Jahre mit ihrem Wissen und ihrem Engagement geprägt haben.

Wir sehen uns im Joomla! D-A-CH Forum!

[GELÖST] Im Template mod_mainmenu überschreiben

  • Schtrietfaidor
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
04 Sep. 2008 20:28 #16547 von Schtrietfaidor
[GELÖST] Im Template mod_mainmenu überschreiben wurde erstellt von Schtrietfaidor
Hallo Leute,

ich arbeite gerade erstmalig an einem Template für 1.5.x.

Dabei habe ich folgendes Problem.
Für den CSS-Code (aus einer Vorlage) brauche ich beim Menü statt:
Code:
<ul class="menu-nav"> <li class="item1">--ALTER LINK WURDE ENTFERNT--</li> </ul>


das hier:

Code: Select all
Code:
<ul class="menu-nav"> <li class="item1">--ALTER LINK WURDE ENTFERNT--</li> </ul>


Also nur den zusätzlichen EM-Tag.

Ich habe nach längerer Sucherei gefunden, dass man im Template das Modul "mod_mainmenu" überschreiben kann.
Es gab einige Anleitungen, die komplette Funktion zu überschreiben, ich brauche aber nur die zusätzlichen EMs bei den Listenpunkten.

Hat das schon mal jemand gemacht? Muss man vll. nur eine Variable ändern?


Gruß
Schrtrietfaidor
  • DietmarH
  • Neues Mitglied
  • Neues Mitglied
Mehr
04 Sep. 2008 20:40 #16548 von DietmarH
Wozu brauchst du das em? Kannst du nicht einfach ul.menu-nav li span entsprechend gestalten?
  • Schtrietfaidor
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
04 Sep. 2008 20:55 #16549 von Schtrietfaidor
Schtrietfaidor antwortete auf Re: Im Template mod_mainmenu überschreiben
Hallo DietmarH,

wie gesagt, ich arbeite mit einer Template-Vorlage und die enthält diese Definitionen.
Die sind für verschiedene dynamische menüs auch recht umfangreich, weshalb ich das CSS/JS lieber unangetastet lassen möchte.

Gruß
Schtrietfaidor
  • Michael-Zitrox
  • Neues Mitglied
  • Neues Mitglied
Mehr
04 Sep. 2008 22:16 #16550 von Michael-Zitrox
Michael-Zitrox antwortete auf Re: Im Template mod_mainmenu überschreiben
im css geht das viel schneller und einfacher..

einfach bein ul.menu li
font-style: italic;

ansonsten musst du wie folgt vorgehen..
im template folgende ordnerstruktur erstellen:

html/mod_mainmenu/
da kommt das file default.php rein von root/modules/mod_mainmenu/tmpl/

dieses default.php in dem Template kannst du nachher nach belieben anpassen und wird immer vor der Originaldatei geparst.
  • Schtrietfaidor
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
08 Sep. 2008 16:05 #16634 von Schtrietfaidor
Schtrietfaidor antwortete auf Re: Im Template mod_mainmenu überschreiben
Hallo,
ich habe nun doch eine recht einfache Lösung gefunden. - Gewußt wie 8)

Um einem Menüpunkt ("child node" im Quelltext) einen Tag wie zB <EM> hinzuzufügen, muss man im Template die originale Definition überschreiben. Dazu muss man zunächst

- von '[root]/modules/mod_mainmenu/tmpl/default.php' nach '[root]/templates/[mytemplate]/html/mod_mainmenu/tmpl/default.php' kopieren

Mit dieser kopierten Datei im eigenenTemplate kann man nun die Definition an dieser Stelle überschreiben:



Code:
$tmp_data = $nodes_nodes_children&#91;$j&#93;->data(); $nodes_nodes_children&#91;$j&#93;->setData(null); $new_kid = $nodes_nodes_children&#91;$j&#93;->addChild('em'); /* die neue Zeile */

Man sieht, mit der neuen Zeile wird die Funktion 'addChild('em')' augerufen, welche jede Knoten in einen <EM>-Tag einbindet.


Gruß
Schtrietfaidor
Moderatoren: Tribal6RePaoDragonlordChris Hoefligerpascaleadiheutschi.ch
Powered by Kunena Forum

Joomla! Verband Schweiz - Mitglied werden