Eindeutige Klasse für jedes Item in der Navigationsliste?

Hier bekommst Du deutschsprachigen Support. Keine Fehlermeldungen oder Erweiterungswünsche bitte!
Post Reply
mbenthaus
Posts: 12
Joined: Fri 25. Jan 2008, 10:17

Eindeutige Klasse für jedes Item in der Navigationsliste?

Post by mbenthaus »

Hallo und guten Tag!

Ich habe ein Navigationselement mit Hilfe des RT-Tags {NAV_LIST_UL:F,0,,menu,active} erstellt, welches auch prima funktioniert.

Jetzt würde ich aber gerne den Elementen der obersten Ebene eine eindeutige Klasse zuweisen, sodaß ich diese per CSS getrennt formatieren kann. Also ungefähr folgendermaßen stelle ich mir dass dann in der Ausgabe vor:

Code: Select all

<ul class="menu">
	<li class="start"><a href="index.php?start">Start</a></li>
	<li class="profil_active"><a href="index.php?profil">Profil</a>
	<ul class="menu">
		<li class="sub_no"><a href="index.php?geschichte">Geschichte</a></li>
		<li class="sub_no"><a href="index.php?partner">Partner</a></li>
	</ul>
	</li>
	<li class="produkte"><a href="index.php?produkte">Produkte</a></li>
	<li class="kontakt"><a href="index.php?kontakt">Kontakt</a></li>
</ul>
So sollte bei der ersten Ebene jeweils die Klasse dem Seitennamen entsprechen und auch die aktive Seite dann zusätzlich gekennzeichnet sein. Die zweite Ebene soll davon nicht betroffen sein. Ich habe durch eigene Recherchen leider nichts in der Richtung gefunden. Ist so etwas von Haus aus möglich? Oder könnte man das generell irgendwie lösen?

Über einen Tipp würde ich mich freuen!



Viele Grüße,

Marc.
User avatar
juergen
Moderator
Posts: 4556
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Re: Eindeutige Klasse für jedes Item in der Navigationsliste?

Post by juergen »

Hallo,

denkbar wäre die original Funktion zu nutzen und die erweiteren Klassen aus einer noch zu schaffenden Tabelle auszulesen.. das CSS ist aber Strafarbeit :D
User avatar
flip-flop
Moderator
Posts: 8178
Joined: Sat 21. May 2005, 21:25
Location: HAMM (Germany)
Contact:

Re: Eindeutige Klasse für jedes Item in der Navigationsliste?

Post by flip-flop »

Zumindest kannst du die IDs für jeden link ausgeben lassen. - NAV_LIST_UL -basics
@string $parameter =
"menu_type, start_id, max_level, class_path, class_active, ul_id_name, wrap_ul_div(0 = off, 1 = <div>, 2 = <div id="">), wrap_link_text(<em>|</em>)"

E.g.: {NAV_LIST_UL:F, 19, 10, NLU_CSS, NLU_ACT, NLU_ID, 2, <em>|</em>} (Not a real one).
Also z.B. {NAV_LIST_UL:F,0,,menu,active,ID}
Man könnte vielleicht die IDs im /frontend_render/ erstzen durch die entsprechenden Klassennamen, Habe ich allerdings nicht getestet ob der /frontend_render/ nach dem Menü abgearbeitet wird. Wenn das ginge könnte das auch vollautomatisch gehandhabt werden.
Nur die Klassen in der CSS-Datei musst du ja irgendwie verfügbar machen.
Last edited by flip-flop on Fri 1. Feb 2008, 10:10, edited 1 time in total.
>> HowTo | DOCU | FAQ | TEMPLATES/DOCS << ( SITE )
mbenthaus
Posts: 12
Joined: Fri 25. Jan 2008, 10:17

Re: Eindeutige Klasse für jedes Item in der Navigationsliste?

Post by mbenthaus »

Ach, die Strafarbeit wäre mir in diesem Fall sogar egal. :-) Aber leider hab ich da keinen Schimmer, wie ich die bisherige Funktion erweitern könnte oder generell sowas lösen könnte. Dafür bin ich noch zu neu in phpwcms oder generell in der Programmiersprache PHP...

Hätte gedacht, dass es vielleicht noch Optionen bei dem RT-Tag oder sowas in der Richtung gibt...
fopulu
Posts: 359
Joined: Tue 2. May 2006, 14:19
Location: Rhein-Main

Re: Eindeutige Klasse für jedes Item in der Navigationsliste?

Post by fopulu »

möchtest du die einzelnen menüpunkte als horizontales menü und dabei die menüpunkte bspw in verschiedenen Farben darstellen?
da hätte ich evtl eine Lösung für dich....
User avatar
flip-flop
Moderator
Posts: 8178
Joined: Sat 21. May 2005, 21:25
Location: HAMM (Germany)
Contact:

Re: Eindeutige Klasse für jedes Item in der Navigationsliste?

Post by flip-flop »

Hätte gedacht, dass es vielleicht noch Optionen bei dem RT-Tag oder sowas in der Richtung gibt...
siehe oben.
Das ist so ungefähr dieses Strickmuster (bunte Navi) NAV_LIST_UL V1.2.8

Idee -> so sollte es gehen: <div class="nlu_navi1">{NAV_LIST_UL:F,0,,act_path,active,ID}</div>
Alt : <li id="li_ID_12" class="sub_ul act_path active"><a href="index.php?ebene03">Ebene03</a>
Neu: <li id="li_ID_12" class="my_new_class sub_ul act_path active"><a href="index.php?ebene03">Ebene03</a>

Ersetzer in /frontend_render/

Code: Select all

<?php
// ****************************************************************
// Ersetzen von Zeichenketten
// 01.02.08 KH (flip-flop)
// ----------------------------------------------------------------
// obligate check for phpwcms constants
if (!defined('PHPWCMS_ROOT')) {
   die("You Cannot Access This Script Directly, Have a Nice Day.");
}
// ----------------------------------------------------------------
$content['all'] = str_replace('id="li_ID_12" class="sub_ul', 'id="li_ID_12" class="my_new_class sub_ul', $content['all']);
?>
Und wenn du jetzt noch geschickt den Seitennamen der aktuellen Seite ausliest und einsetzt ist es fast eine Automatik, bis auf die Klassen, die natürlich angelegt sein müssen. Ob das alles Sinn macht ist eine andere Sache.
Last edited by flip-flop on Fri 1. Feb 2008, 13:03, edited 1 time in total.
>> HowTo | DOCU | FAQ | TEMPLATES/DOCS << ( SITE )
mbenthaus
Posts: 12
Joined: Fri 25. Jan 2008, 10:17

Re: Eindeutige Klasse für jedes Item in der Navigationsliste?

Post by mbenthaus »

Ja, du hast schon recht... Allzu sinnvoll ist das in einem dynamischen System natürlich nicht, da evtl. Seiten angelegt werden und dann die Klassen fehlen. In meinem Fall würde mir das allerdings absolut genügen. Und mit der Lösung über die ID bin ich sehr zufrieden. Evtl. lasse ich das noch der Optik wegen durch den Frontend-Renderer ersetzen, aber passen tut's allemal, womit ich das Thema gleich als »Solved« betitele. :-)

Nochmal danke an euch alle für eure sehr nette und schnelle Hilfe!


Viele Grüße aus dem Ruhrpott!

Marc.
User avatar
juergen
Moderator
Posts: 4556
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Re: Eindeutige Klasse für jedes Item in der Navigationsliste?

Post by juergen »

Ersetzer in /frontend_login/
:arrow: frontend-render
oder

:arrow: frontend-init

Vielleicht war das jetzt auch schon pedantisch von mir, das wäre allerdings unbeabsichtigt :wink:
User avatar
flip-flop
Moderator
Posts: 8178
Joined: Sat 21. May 2005, 21:25
Location: HAMM (Germany)
Contact:

Re: Eindeutige Klasse für jedes Item in der Navigationsliste?

Post by flip-flop »

Wenn dir die IDs reichen, würde ich nichts ersetzen, frisst dann nur unnötig Ressourcen beim Ausliefern. Optik: In die generierte Source schaut eh niemand hinein.

Ruhrpott: Wo?

@Jürgen: War gerade noch kopftechnisch in einem anderen Thema. Es muss natürlich frontend_render heißen. :oops:
>> HowTo | DOCU | FAQ | TEMPLATES/DOCS << ( SITE )
mbenthaus
Posts: 12
Joined: Fri 25. Jan 2008, 10:17

Re: Eindeutige Klasse für jedes Item in der Navigationsliste?

Post by mbenthaus »

flip-flop wrote:Wenn dir die IDs reichen, würde ich nichts ersetzen, frisst dann nur unnötig Ressourcen beim Ausliefern. Optik: In die generierte Source schaut eh niemand hinein.
auch wieder wahr. werde es erstmal so belassen.
flip-flop wrote:Ruhrpott: Wo?
Aus dem schönen Bochum! Tief im Westen sozusagen. ;-)
User avatar
flip-flop
Moderator
Posts: 8178
Joined: Sat 21. May 2005, 21:25
Location: HAMM (Germany)
Contact:

Re: Eindeutige Klasse für jedes Item in der Navigationsliste?

Post by flip-flop »

Tief im Westen, wo die Sonne verstaubt! Ist es besser, viel besser, als man glaubt ....
Das Ruhrgebiet: Von Moers im Westen bis nach Hamm :D im Osten, von Haltern im Norden und Ennepetal im Süden streckt sich das 4435 Quadratkilometer große Gebiet mit seinen 5,3 Millionen Einwohnern .....
-> http://www.salzgittertubes.com/de/Press ... im_Westen/ Glaubt kaum jemand das es bei uns auch recht nett ist.
>> HowTo | DOCU | FAQ | TEMPLATES/DOCS << ( SITE )
mbenthaus
Posts: 12
Joined: Fri 25. Jan 2008, 10:17

Re: Eindeutige Klasse für jedes Item in der Navigationsliste?

Post by mbenthaus »

flip-flop wrote:Glaubt kaum jemand das es bei uns auch recht nett ist.
Das stimmt wohl, allerdings würde ich viele Teile Bochums auch nicht unbedingt als Vorzeige-Ruhrpottstadt nehmen ;-)


Ich hab noch ne spezielle Frage... :-) Wie kann ich den Text in den Links des Menüs in einen <span>-Container setzen? Sprich das ein List-Item so aussieht:

Code: Select all

<li id="li_ID_1" class="sub_no sub_ul_true"><a href="index.php?profil"><span>Profil</span></a></li>
Wo könnte ich sowas angeben? Ihr merkt, ich bin noch nicht wirklich mit phpwcms vertraut... :-)
User avatar
flip-flop
Moderator
Posts: 8178
Joined: Sat 21. May 2005, 21:25
Location: HAMM (Germany)
Contact:

Re: Eindeutige Klasse für jedes Item in der Navigationsliste?

Post by flip-flop »

@string $parameter =
"menu_type, start_id, max_level, class_path, class_active, ul_id_name, wrap_ul_div(0 = off, 1 = <div>, 2 = <div id="">), wrap_link_text(<em>|</em>)"

E.g.: {NAV_LIST_UL:F, 19, 10, NLU_CSS, NLU_ACT, NLU_ID, 2, <span>|</span>} (Not a real one).
<div class="nlu_navi1">{NAV_LIST_UL:F,0,,act_path,active,ID,,<span>|</span>}</div> :D -> - NAV_LIST_UL -basics
Beispiel: - Sliding door technology
>> HowTo | DOCU | FAQ | TEMPLATES/DOCS << ( SITE )
mbenthaus
Posts: 12
Joined: Fri 25. Jan 2008, 10:17

Re: Eindeutige Klasse für jedes Item in der Navigationsliste?

Post by mbenthaus »

So, alles fertig, keine Fragen mehr für heute :-) Tausend dank nochmal für die nette Hilfe!
Post Reply