Kategoriebaum Navigation Frontend ausgeben

Hallo zusammen,

ich brauche den die Hauptnavigation bis in die 3 Ebene.

Bedeutet:

Menüpunkt 1

  • submenu Punkt 1
    [B]- - subsubmenu Punkt 1.1
    • subsubmenu Punkt 1.2
    • subsubmenu Punkt 1.3[/B]
  • submenu Punkt 2
    [B]- - subsubmenu Punkt 2.1
    • subsubmenu Punkt 2.2
    • subsubmenu Punkt 2.3[/B]
  • submenu Punkt 3
    Menüpunkt 2
    Menüpunkt 3

Soweit so gut. Ich hab folgendes erweitert:
OXID CE 4.9.0

<ul id="navigation" class="menu">
  <li>
     [{foreach from=$_navcategorytree item=category name=MoreSubCat}]
       [{* TOP categories *}]
        [{if $category->getIsVisible()}]
            
            
            [{if $iSubCategoriesCount%$_iCategoriesPerRow == 0}]
            </li>
            [{/if}]
            [{assign var="iSubCategoriesCount" value=$iSubCategoriesCount+2}]
           
            
                    <li><a id="moreSubCat_[{$smarty.foreach.MoreSubCat.iteration}]" href="[{ $category->getLink() }]">
                        [{$category->oxcategories__oxtitle->value }][{if $oView->showCategoryArticlesCount() && ($category->getNrOfArticles() > 0) }] ([{ $category->getNrOfArticles() }])[{/if}]
                    </a>
                
                        [{* Top categories subcategories *}]
                        [{if $category->getHasVisibleSubCats()}]
                            <ul>
                               [{foreach from=$category->getSubCats() item=subcategory}]
                                    [{if $subcategory->getIsVisible() }]
                                         <li>
                                            <a href="[{ $subcategory->getLink() }]">
                                               [{ $subcategory->oxcategories__oxtitle->value }][{if $oView->showCategoryArticlesCount() && ($subcategory->getNrOfArticles() > 0) }] ([{ $subcategory->getNrOfArticles() }])[{/if}]
                                            </a>
                                           
                                           [B] [{* Top categories subsubcategories *}]
                                            [{if $subcategory->getHasVisibleSubCats()}]
                                                <ul>
                                                    [{foreach from=$subcategory->getSubCats() item=subsubcategory}]
                                                        [{if $subcategory->getIsVisible() }]
                                                            [{* CMS subsubcategory  *}]
                                                            [{foreach from=$subsubcategory->getContentCats() item=ocont name=MoreCms}]
                                                                <li>
                                                                    <a href="[{$ocont->getLink()}]"><strong>[{ $ocont->oxcontents__oxtitle->value }]</strong></a>
                                                                </li>
                                                            [{/foreach}]
                                                            <li>
                                                                <a href="[{ $subsubcategory->getLink() }]">
                                                                    [{ $subsubcategory->oxcategories__oxtitle->value }][{if $oView->showCategoryArticlesCount() && ($subsubcategory->getNrOfArticles() > 0) }] ([{ $subsubcategory->getNrOfArticles() }])[{/if}]
                                                                </a>
                                                            </li>
                                                        [{/if}]
                                                    [{/foreach}]
                                                </ul></li>
                                                
                                            [{/if}][/B]
                                    
                                </li>
                            [{/if}]
                        [{/foreach}]
                    </ul></li>
                                   
                [{/if}]
            
    [{/if}]
    [{if $iSubCategoriesCount%$_iCategoriesPerRow == 0}]
    </li><li class="clear">
    [{/if}]
[{/foreach}]
</li>
</ul>

Es geht eigentlich nur um den Code in rot, hier möchte ich mir die Sub Kategorie der 2. Ebenen Kategorie holen.

Komischerweise, wenn ich auf der Startseite des Shops bin, zeigt er mir gar keine 3 Ebene an. Wenn ich allerdings auf [U]submenu Punkt 1[/U] bin zeigt er mir hier die Subcategorie dieses Punktes, aber nicht die anderen.

Ein Tipp zur Fehlerbehebung wäre klasse :slight_smile:

lieben Dank

2 ANHÄNGE:

  • Bild1.jpg - Aktuelle Seite: Startseite
  • Bild2.jpg - Aktuelle Seite: Sportswear (wobei Fashion auch Unterpunkte haben müsste)

Backend Performance “Leere Kategorien nicht anzeigen” aktivieren.

Klappt, vielen Dank.

Danke auch von meiner Seite!

Aber warum ist das so? Dieser Zusammenhang ist unlogisch.
“Leere Kategorien nicht anzeigen” hat nichts mit dem Sachverhalt ‘Generell keine Kategorien in Ebene 3 anzeigen’ zu tun.

Ich muss diese Option also zweckentfremdet nutzen. Gibt es auch eine andere Lösung?

Ganz einfach: Standardmässig werden nur 2 Ebenen geladen aus Performancegründen. Wenn “Leere Kategorien nicht anzeigen” aktiviert ist, muss der Shop nachschauen ob alle Unterkategorien leer sind, dazu muss er alle Kategorien laden.

Danke für deine Antwort. Das ist nachvollziehbar.
Dennoch ist das Verhalten des Shops hier semantisch nicht korrekt.

Ich hab vorhin in diesem Zusammenhang auch das gelesen:
http://forum.oxid-esales.com/showthread.php?t=13968&highlight=getSubCats&page=3

Ich finde es recht fragwürdig, dass im oxCategoryList das setLoadLevel() eingeschränkt ist.

Ja hab schon einen Bug dazu erstellt: 0005804: Performance option "Do not display empty Categories" has side effects - OXID eShop bugtrack

Hallo,

kann mir jemand sagen aus welcher tpl. Datei der Code aus dem ersten Beitrag ist?

Grüße,

kann mir jemand sagen aus welcher tpl. Datei der Code aus dem ersten Beitrag ist?

in source/Application/views/kalamulur/tpl/page/list der Datei heißt morecategories.tpl

Ich bin mit OXID 6.2, und mit diese code bekomme in Kategorien in Navigation kein 3 Lebel…