xtCommerce Veyton bestimmte Kategorien ausblenden

Heute hatte ich den Auftrag, bei einem bestehenden xtCommerce Onlineshop in der Navigation die Unterkategorien einer bestimmten Kategorie ausblenden zu lassen. Alle Unterkategorien in anderer Hauptkategorien sollten aber weiter angezeigt werden! Nach einiger Suche habe ich eine entsprechende Lösung gefunden. In meinem Beispiel ist „Bier“ die Hauptkategorie. Ich möchte, das „Bier“ weiterhin angezeigt wird – die Unterkategorien „Weissbier“ und „Doppelbock“ sollen aber aus der Navigation verschwinden. Andere Unterkategorien, die sich unter anderen Menüpunkten befinden, sollen nicht davon betroffen sein.

Navigation vorher Navigation nachher
xtcommerce unterkategorie ausblenden xtcommerce-unterkategorie-ausblenden-2

 1. ID der Hauptkategorie im Shop suchen

Zuerst gehen wir in den Admin-Bereich unseres Shops. Wir rufen im Dashboard die Kategorien und lassen uns diese anzeigen.

xtcommerce dashboard bestimmte unterkategorie ausblenden

„Bier“ ist meine Hauptkategorie, deren Unterkategorien nicht mehr angezeigt werden sollen. Die „ID“ lautet hier „12“. Diese Zahl merke ich mir. Bei Euch kann die ID ganz anders lauten!

3. box_categories.html abändern

Nun öffnet man die Datei „box_categories.html“. Sie befindet sich normalerweise im Ordner „/templates/xt_default/xtCore/boxes“. Anstatt „xt_default“ kann Euer Template-Ordner natürlich auch anders lauten, also beispielsweise „/templates/meintemplate/xtCore/boxes“. Die normale Listung für die Navigation in der Datei „box_categories.html“ lautet bei xtCommerce Veyton so:

{foreach name=aussen item=module_data from=$_categories}
<li id="box-categories-categorie-{$module_data.categories_id}" class="level{$module_data.level}{if $module_data.active} active{/if}"><a href="{$module_data.categories_link}">{$module_data.categories_name}</a></li>
{/foreach}

Dies ändert man nun ab in:

{foreach name=aussen item=module_data from=$_categories}
{if $module_data.parent_id == 12 }
<li id="box-categories-categorie-{$module_data.categories_id}" class="level{$module_data.level}{if $module_data.active} active{/if}" style="display:none;"><a href="{$module_data.categories_link}" style="display:none;">{$module_data.categories_name}</a></li>
{else}
<li class="level{$module_data.level}{if $module_data.active} active{/if}"><a href="{$module_data.categories_link}" title="{$module_data.categories_heading_title}">{$module_data.categories_name}</a></li>
{/if}
{/foreach}

Bei „{if $module_data.parent_id == 12 }“ tragt Ihr die entsprechende ID Zahl Eurer Hauptkategorie ein. {if} bedeutet: wenn die Hauptkategorie 12 aufgerufen wird, dann werden die Untekategorien ausgeblendet. {else} bedeutet: ansonsten werden die Unterkategorien ganz normal angezeigt. Die Datei „box_categories.html“ abspeichern und in den Ordner „/templates/xt_default/xtCore/boxes“ hochladen. Fertig! Achtung: Diese Anleitung bezieht sich auf einen xtCommerce Shop Version 4.0.16 oder älter. Ich kann nicht versprechen, das es in der neueren 4.1 Version genauso funktioniert!  

Schreibe einen Kommentar