Probleme beim abbilden der Subkategorien

Hallo,

ich komme an dieser vermeintlich trivialen Stelle leider nicht weiter. Ziel ist es einfach alle Kategorien mit Unterkategorien abzubilden. Problem ist dass das subcategorie array der Kategorien einfach leer ist, obwohl die Kategorie Unterkategorien hat. 

 $category.childrenCount ist richtigerweise 3

 $category.subcategories ist jedoch leer

Hier ist der passende Code, für Hilfe wär ich sehr dankbar.

{function name=categoriesblock level=1 mainName='' link=''}
    {$level}
    {foreach $categories as $category}
        {if $level === 1}
            
                {$category.description}{$category.subcategories|@count} {$category.getchildren|@count} {$category.subcategories|@count} {$category.childrenCount}

                {if $category.childrenCount > 0}

            

                
                    
                        
                        
                            JEWELRY
                            COLLECTION
                        
                        Discovery the amazing of Lily Cole Artist
                        View Now
                    
                


                
                    
                        {call name=categoriesblock categories=$category.subcategories level=$level+1 mainName=$category.description link=$category.link}
                    
                
            
        {/if}
            
        {/if}
        {if $level === 2}

            
                
                    {$category.description}
                

                {if $category.childrenCount > 0}
                    
                        
                            {call name=categoriesblock categories=$category.subcategories level=$level+1 mainName=$category.description link=$category.link}
                        
                    
                {/if}
            

        {/if}
        {if $level === 3}
            
                
                    {$category.description}
                
            
        {/if}
    {/foreach}
{/function}



    
        
            
                
                    
                        
                        {s namespace='frontend/index/category-navi' name='mainCategory'}{/s}
                    
                

                
                    
                        {if $sCategories}
                            {call name=categoriesblock categories=$sCategories}
                        {elseif $sMainCategories}
                            {call name=categoriesblock categories=$sMainCategories}
                        {/if}

 

Hey,

ich habe gerade das gleiche Problem. Mit der Variable $sMainCategories geht es offenbar leider nicht, weil diese nur den Kategorie-Baum zur aktiven Kategorie aufstellt (und davon noch die Sub-Kategorien). Vermutlich exisitert diese Beschränkung aus Effizienzgründen.

Es gibt jedoch die Möglichkeit das Plugin „Erweitertes Menü“ oder „Advanced Menu“ zu aktivieren. Dieses stellt eine Variable $sAdvancedMenu mit allen benötigten Informationen bereit. Du müsstest also damit zunächst den Funktionsaufruf in den unteren Zeilen ändern. Zudem ist die Struktur der Variable leicht anders, sie hält zusätzlich auch viele weitere Informationen Bereit. So heißt das Feld mit den Subkategorien beispielswiese nicht „subcategories“ sondern „sub“.

Du musst also noch das Template entsprechend an die andere Struktur anpassen. Sauberer wäre es allerdings eine neue Funktion zu erstellen, die aufgerufen wird, sofern $sAdvancedMenu vorhanden ist.

Viel Erfolg damit!

1 „Gefällt mir“