Unterschiedliche Klassen angeben in der Navigation

Alles rund um Module und Plugins in CONTENIDO 4.9.
Antworten
apicalart
Beiträge: 161
Registriert: Fr 18. Mär 2005, 13:09
Wohnort: Linnich ( NRW )
Kontaktdaten:

Unterschiedliche Klassen angeben in der Navigation

Beitrag von apicalart » Fr 25. Okt 2013, 09:18

Wie muss die navigation_main abgeändert werden, um <li> eine class haschildren zuzuteilen, wenn es weitere Kategorien darunter gibt und keine class wenn es keine Unterkategorien gibt.

Code: Alles auswählen

{if 0 lt $ulId|strlen}<!-- navigation_main/template/get.tpl -->{/if}

<ul class="{$ulId}">

    {foreach from=$tree item=wrapper}
        {assign var="idcat" value=$wrapper.idcat}
        {assign var="url" value=$wrapper.item->getLink()}
        {assign var="name" value=$wrapper.item->get('name')}
        {if $idcat|in_array:$path}
            {assign var="aClass" value='active'}
        {else}
            {assign var="aClass" value=''}
        {/if}
        <li class="haschildren">
            <a class="{$aClass}" href="{$url}" title="{$name}">{$name}</a>
        {if $idcat|in_array:$path}
            {include file="navigation_main/template/get.tpl"
                tree=$wrapper.subcats path=$path ulId=""}
        {/if}
        </li>
     {/foreach}
</ul>

{if 0 lt $ulId|strlen}<!-- /navigation_main/template/get.tpl -->{/if}
Dat gijjt et doch nit wirklich, odder !

Grüsse aus dem Rheinland
http://www.eukoba.de

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Unterschiedliche Klassen angeben in der Navigation

Beitrag von homtata » Sa 26. Okt 2013, 13:59

Hallo,

das folgende ist komplett ungetestet und eher so eine Art Anleitung, wie es vermutlich klappen könnte:

so wie man überprüft, ob die gerade aktuell ausgegebene idcat aktiv ist und dann die Klasse angepasst wird, sollte das auch ähnlich für das Untermenü jedes aktuell erzeugten Menüpunkts gelten.

Vermutlich ist das also ein Konstrukt ähnlich wie folgendes an den bestehenden Code anzuhängen:

Code: Alles auswählen

        {if $idcat|in_array:$path}
            {assign var="aClass" value='active'}
        {else}
            {assign var="aClass" value=''}
        {/if}
       {if !empty($wrapper.subcats)}
            {assign var="childClass" value='haschildren'}
        {else}
            {assign var="childClass" value=''}
        {/if}
       <li class="{$childClass}">
wobei die Abfrage mit !empty() ggf. anzupassen wäre - ich weiß nicht genau, welchen Zustand $wrapper.subcats hat, ob es ein Array oder ein leerer String ist oder nicht existiert oder oder oder. Musst du ggf. durchprobieren ob if == '' oder !isset() oder was auch immer ;-)

Antworten