Kategorie-Freitextfeld korrekt in der Hauptnavigation

Ich möchte gerne die Hauptnavigation in meinem Shoptemplate anpassen und dazu die CSS-Klassen der Listenelemente durch die Freifeld-Attribute der Kategorien verändern. Hierzu habe ich entsprechend der Anleitung im wiki (Freitextfelder) die Datei advanced_menu.tpl angepasst und mit {foreach from=$sAdvancedMenu item=sCategory} {if !$sCategory.hidetop} href="{$sCategory.link}" title="{$sCategory.description}" {if !empty($sCategory.flag)} class="active"{/if}\> {$sCategory.description} {if $sCategory.sub} {call name=categories\_top categories=$sCategory.sub} {/if} {/if} {/foreach} erweitert. Ich wollte ich gerne, dass das erste Attribut jeder Kategorie als CSS-Klasse eingetragen wird. Leider zeigte sich, dass auch, wenn man nur in einer Kategorie (in meinem Fall in der ersten) einen Freifeldeintrag setzt und den ersten Eintrag in allen anderen Kategorien leer lässt, der Eintrag später für alle Kategorien der Hauptnavigation übernommen wird und nicht nur für die Kategorie, wo dieser gesetzt ist. [code]

  • ul> [/code] Wie lässt sich dieses Verhalten umgehen, so dass die CSS-Klassenerweiterung nur für die Kategorien angezeigt werden, in denen der Freifeldwert auch entsprechend gesetzt ist?

Warum setzt du die Klasse nicht direkt im Block? Der erste Codeschnippsel zeit aber nicht das du die Attribute nutzt. Hast du dich beim kopieren ins Forum vlt. vertan? Sent from my iPhone using Tapatalk

Offensichtlich habe ich das falsche Schnippsel kopiert. So benutze ich es im Moment: [code]

{foreach from=$sAdvancedMenu item=sCategory} {if !$sCategory.hidetop} - {$sCategory.description} {if $sCategory.sub} {call name=categories_top categories=$sCategory.sub} {/if}
{/if} {/foreach}
[/code]

Mittlerweile habe ich das Problem selber in den Griff bekommen. Wenn jemals mal wieder jemand vor dem Problem steht: wichtig ist die Verwendung von $sCategory statt $sCategoryContent und mit: [code] {foreach from=$sAdvancedMenu item=sCategory} {if !$sCategory.hidetop}

  • {$sCategory.description} {if $sCategory.sub} {call name=categories_top categories=$sCategory.sub} {/if}
    {/if} {/foreach} [/code] erreicht man das gewünschte Ergebnis.