Unterkategorien im Megamenü - Inaktiv in der Desktopversion, aktiv in der Mobilversion

baumaschinenteile24

Sehr aktives Mitglied
2. Mai 2012
427
63
Ich habe gerade folgendes Problem: in der Desktopversion habe ich die Unterkategorien im Megamenü ausgeblendet, weil es irrsinnig viele sind und das ganze furchtbar aussieht. Das führt aber dazu, dass in der Mobilversion auch keine Unterkategorien im Menü zur Verfügung stehen. Und soweit ich das sehe, hat das Nova-Template dafür auch nur die Einstellungen "Aktiv" und "Inaktiv", keine separaten Varianten für Mobil und Desktop. Gibt es da eine Variante, wie ich das trennen kann?
 

martinwolf

Offizieller Servicepartner
SPBanner
6. September 2012
3.598
317
Ich habe gerade folgendes Problem: in der Desktopversion habe ich die Unterkategorien im Megamenü ausgeblendet, weil es irrsinnig viele sind und das ganze furchtbar aussieht. Das führt aber dazu, dass in der Mobilversion auch keine Unterkategorien im Menü zur Verfügung stehen. Und soweit ich das sehe, hat das Nova-Template dafür auch nur die Einstellungen "Aktiv" und "Inaktiv", keine separaten Varianten für Mobil und Desktop. Gibt es da eine Variante, wie ich das trennen kann?
snippets/categories_mega_recursive.tpl in dein Child ergänzen, auf folgendem Block ändern:
Code:
{block name='snippets-categories-mega-recursive-child-content'}
    <div class="categories-recursive-dropdown dropdown-menu d-lg-none">
        {nav}
            {block name='snippets-categories-mega-recursive-child-header'}
                <li class="nav-item d-lg-none">
                    {link href=$mainCategory->getURL()}
                        <strong class="nav-mobile-heading">
                            {lang key='menuShow' printf=$mainCategory->getShortName()}
                        </strong>
                    {/link}
                </li>
            {/block}
            {block name='snippets-categories-mega-recursive-child-categories'}
                {foreach $mainCategory->getChildren() as $category}
                    {if $category->hasChildren() && $subCategory + 1 < $max_subsub_items}
                        {block name='snippets-categories-mega-recursive-child-category-child'}
                            <li class="nav-item dropdown">
                                {include file='snippets/categories_mega_recursive.tpl' mainCategory=$category firstChild=false subCategory=$subCategory + 1}
                            </li>
                        {/block}
                    {else}
                        {block name='snippets-categories-mega-recursivechild-category-no-child'}
                            {navitem href=$category->getURL() data=["category-id"=>$category->getID()]}
                                <span class="text-truncate d-block">
                                    {$category->getShortName()}{if $category->hasChildren()}<span class="more-subcategories">&nbsp;({$category->getChildren()|count})</span>{/if}
                                </span>
                            {/navitem}
                        {/block}
                    {/if}
                {/foreach}
            {/block}
        {/nav}
    </div>
{/block}

Auf Zeile 2 ist eine Klasse "d-lg-none" ergänzt worden. Die Einstellung zur Anzeige der Unterkategorien muss aktiv sein. Auf diese Weise werden die Unterkategorien immer gerendert, auf dem Desktop aber lediglich ausgeblendet.