Guten Tag,
Es geht um das Advanced Menu.
Ich habe mit Hilfe eine Freitextfeldes festgelegt, wann eine Kategorie oben in der Menüleiste bzw. links im Kategoriebaum angezeigt werden soll und wann nicht.
Dies habe realisiert, in dem ich folgendes gemacht habe:
Ich habe in meinem Theme unter frontend/plugins/advanced_menu eine index.tpl mit folgendem Inhalt angelegt, das funktioniert soweit auch wunderbar.
{function name="categories_top" level=0}
{$columnIndex = 0}
{$menuSizePercentage = 100 - (25 * $columnAmount * intval($hasTeaser))}
{$columnCount = 4 - ($columnAmount * intval($hasTeaser))}
<ul class="menu--list menu--level-{$level} columns--{$columnCount}"{if $level === 0} style="width: {$menuSizePercentage}%;"{/if}>
{block name="frontend_plugins_advanced_menu_list"}
{foreach $categories as $category}
{if $category.hidetop}
{continue}
{/if}
{$categoryLink = $category.link}
{if $category.external}
{$categoryLink = $category.external}
{/if}
<li class="menu--list-item item--level-{$level}"{if $level === 0} style="width: 100%"{/if}>
{block name="frontend_plugins_advanced_menu_list_item"}
<a href="{$categoryLink|escapeHtml}" class="menu--list-item-link" title="{$category.name|escape}">{$category.name}</a>
{if $category.sub}
{call name=categories_top categories=$category.sub level=$level+1}
{/if}
{/block}
</li>
{/foreach}
{/block}
</ul>
{/function}
<div class="advanced-menu" data-advanced-menu="true">
{block name="frontend_plugins_advanced_menu"}
{foreach $sAdvancedMenu as $mainCategory}
{if $mainCategory.attribute.eigene_category_yes_no != 1}
{if !$mainCategory.active || $mainCategory.hidetop}
{continue}
{/if}
{$link = $mainCategory.link}
{if $mainCategory.external}
{$link = $mainCategory.external}
{/if}
{$hasCategories = $mainCategory.activeCategories > 0 && $columnAmount < 4}
{$hasTeaser = (!empty($mainCategory.media) || !empty($mainCategory.cmsHeadline) || !empty($mainCategory.cmsText)) && $columnAmount > 0}
<div class="menu--container">
{block name="frontend_plugins_advanced_menu_main_container"}
<div class="button-container">
{block name="frontend_plugins_advanced_menu_button_category"}
<a href="{$link|escapeHtml}" class="button--category" title="{s name="toCategoryBtn" namespace="frontend/plugins/advanced_menu/advanced_menu"}{/s}{$mainCategory.name|escape:'html'}">
<i class="icon--arrow-right"></i>
{s name="toCategoryBtn" namespace="frontend/plugins/advanced_menu/advanced_menu"}{/s}{$mainCategory.name}
</a>
{/block}
{block name="frontend_plugins_advanced_menu_button_close"}
<span class="button--close">
<i class="icon--cross"></i>
</span>
{/block}
</div>
{if $hasCategories || $hasTeaser}
<div class="content--wrapper{if $hasCategories} has--content{/if}{if $hasTeaser} has--teaser{/if}">
{if $hasCategories}
{block name="frontend_plugins_advanced_menu_sub_categories"}
{call name="categories_top" categories=$mainCategory.sub}
{/block}
{/if}
{if $hasTeaser}
{if $hasCategories}
<div class="menu--delimiter" style="right: {$columnAmount * 25}%;"></div>
{/if}
<div class="menu--teaser"{if $hasCategories} style="width: {$columnAmount * 25}%;"{else} style="width: 100%;"{/if}>
{if !empty($mainCategory.media)}
<a href="{$link|escapeHtml}" title="{s name="toCategoryBtn" namespace="frontend/plugins/advanced_menu/advanced_menu"}{/s}{$mainCategory.name|escape:'html'}" class="teaser--image" style="background-image: url({link file={$mainCategory.media.path}});"></a>
{/if}
{if !empty($mainCategory.cmsHeadline)}
<div class="teaser--headline">{$mainCategory.cmsHeadline}</div>
{/if}
{if !empty($mainCategory.cmsText)}
<div class="teaser--text">
{$mainCategory.cmsText|strip_tags|truncate:250:"..."}
<a class="teaser--text-link" href="{$link|escapeHtml}" title="{s name="learnMoreLink" namespace="frontend/plugins/advanced_menu/advanced_menu"}mehr erfahren{/s}">
{s name="learnMoreLink" namespace="frontend/plugins/advanced_menu/advanced_menu"}mehr erfahren{/s}
</a>
</div>
{/if}
</div>
{/if}
</div>
{/if}
{/block}
</div>
{/if}
{/foreach}
{/block}
</div>
Das Problem:
Wenn ich eine Kategorie hinzufüge, dann wird mir beim Hover über einen Eintrag vom Advanced Menu immer der Containerinhalt der nächsten Kategorie angezeigt.
Beispiel:
Ich habe Kategorie Grün und Gelb. Wenn ich nun davor die Kategorie Rot einfüge, so, dass ich dann die Kategorien Rot Grün Gelb habe, dann wird mit im Advanced Container beim Hover über „Rot“ der Containerinhalt (also die Unterkategorien, Bild und Text bei dem dann erscheinenden DIV) von „Grün“ angezeigt. Wenn ich über Grün hover, wird mir der Inhalt von „Gelb“ angezeigt. Also immer um 1 verschoben.
Ich hatte das Problem bereits zwei mal in der Vergangenheit und habe es irgendwie lösen können. Es ist aber schon Monate her und ich komme einfach nicht mehr auf die Lösung. Habe jetzt 2,5 Stunden probiert, aber ich weiss, dass es eine ganz einfache Lösung dafür gab.
Kann mir jemand helfen, wieder auf die Lösung zu kommen?
Grüsse,
Wilo