Level 2 Untermenüs in der Top Navigation anzeigen

Bei Version 4.8 wird auch nur bis zur ersten Unterkategorie angezeigt. Witzig ist, daß die Backend-Einstellung “Leere Kategorien (keine Unterkategorien, keine Artikel) [B]nicht[/B] anzeigen” einen Einfluss auf das Verhalten hat.
Insofern die Template-Datei auf die dritte Ebene erweitert wurde, lassen sich weitere Ebenen durch Setzen des Hakens anzeigen.

Hat jemand eine Lösung, ohne Haken und ohne Änderungen der oxcmp_categories.php?

Hallo zusammen

ich wollte auch den Haken nicht setzen bei "Admin -> Grundeinstellungen -> Performance -> “Leere Kategorien (keine Unterkategorien, keine Artikel) nicht anzeigen” und trotzdem eine weitere Unterkategorie anzeigen lassen.

Habe es mit einem kleinen Modul gelöst.

dazu brauchts nur
my_oxcategorylist.php


<?php
 
 class my_oxcategorylist extends my_oxcategorylist_parent
{    

    /**   
     * ganzen Kategoriebaum laden 
     * Performance option used to force full tree loading
     *
     * @var boolean
     */
    protected $_blForceFull = true; 
}

und die metadata.php


<?php

 /**
 * Metadata version
 */
$sMetadataVersion = '1.1';
 
 /**
 * Module information
 */
$aModule = array(
    'id'           => 'my_navigation',
    'title'        => 'Navigation - Anpassung Categorylist',
    'description'  => 'Der ganze Kategoriebaum soll geladen werden, nicht nur die Unterkategorien des aktiven Zweigs',
    'extend'       => array(
			'oxcategorylist' => 'my_navigation/my_oxcategorylist',
	),
);

Das Modul funktioniert mit Oxid Version 4.8. Vielleicht hilft das weiter…

Gruss
claudia

Danke, funktioniert bestens.

Holger

Je nach Kategorienbaum kann das ziemlich auf die Performance gehen, oder?

[QUOTE=martin.wegele;141400]Je nach Kategorienbaum kann das ziemlich auf die Performance gehen, oder?[/QUOTE]

klar… aber es war vorher auch so … und da war es auch nicht zu wenig perfomant.

Hallo,

ich musste für eine ähnliche Aufgabe eine Lösung finden: Der gesamte Top-Navi soll nur Ekemente der aktuellen Root-Kategorie anzeigen, zwischen den Root-Kategorien wird separat navigiert. Ebene 1 wird also versteckt, Ebene 2 ist im sfMenu sichtbar, und in den Drop-Downs ist ebene 3.

Die Lösung war

  1. $_blForceFull = true in der oxcategoylist um die 3. Ebene zu laden, und
  2. die categorylist.tpl wie folgt anzupassen:

    ...
    [{else}]
        [{assign var="bHasMore" value="false"}]
        [{assign var="iCatCnt" value="0"}]
    [{/if}]

    [{*1*}][{foreach from=$oxcmp_categories item=ocatb key=catkeyb name=rootb}]
        [{if $actCategory->oxcategories__oxrootid && $actCategory->oxcategories__oxrootid == $catkeyb}]

            [{*2*}][{foreach from=$ocatb->getSubCats() item=ocat key=catkey name=root}]
              [{if $ocat->getIsVisible() }]
                [{foreach from=$ocat->getContentCats() item=oTopCont name=MoreTopCms}]
    ...