Antwort #32 am: 26. Oktober 2012, 18:43:30
Ja, kann man so machen,
wobei du deine doppelte if-Abfrage auch mit concatenating in eine Abfrage verkürzen kannst.
/* Anzeigen der Kategoriebezeichnung */if ( $id && in_array($counter, $id) ) { $categories_string .= '<span class="ca-kat-anzeige">' . $foo[$counter]['name'] . '</span>';} else { $categories_string .= $foo[$counter]['name'];}/* Ende der Kategoriebezeichnung */ ... wenn ich das jetzt beim Überfliegen nicht verkehrt verstanden habe.
An web28's Lösung ist folgendes besser:- Vernünftige HTML-Struktur à la
<ul>
<li>Hauptkategorie
<ul>
<li>Unterkategorie</li>
<li>Unterkategorie</li>
</ul>
</li>
<li>Hauptkategorie II
<ul>
<li>Unterkategorie II</li>
<li>Unterkategorie II</li>
</ul>
</li>
</ul>
mit der man auch leicht Flyout-Menus basteln kann.
Die "normale" Struktur ist ja nicht verschachtelt sondern sieht so aus:
<ul>
<li>Hauptkategorie<li>
<li>Unterkategorie</li>
<li>Unterkategorie</li>
<li>Hauptkategorie II</li>
<li>Unterkategorie II</li>
<li>Unterkategorie II</li>
</ul>
was völlig unüblich und, was ein "modding" der Menustruktur anbelangt, auch kontraproduktiv ist.
Zweiter Vorteil:
- Die Parent- (= Haupt- oder Eltern-) Kategorien haben eine eigene Klasse wodurch man die Hauptkategorien anders stylen kann als die Unterkategorien.
Beispiel:
hierDas hat web28 klasse gelöst finde ich.
Gruß,
noRiddle