Strukturkategorien in der Breadcrumb Navigation ausblenden

Hallo,

weiß jemand wie ich Kategorien aus der Breadcrumb Navigation ausblenden kann? Oder die Verlinkung für ausgewählte Kategorien deaktiviere?

Ich habe Kategorien als Strukturkategorie angelegt und sie werden trotzdem in der Breadcrumb Navigation angezeigt.

Danke und Gruß

Hi Blueroger,

hast du hier eine Lösung gefunden? Ich stehe aktuell vor dem selben Problem, dass ich Strukturkategorien nicht im Breadcrumb angezeigt haben möchte.

Viele Grüße

Hallo Schmuh,

ich habe die SEO Pfade in den Kategorien angepasst, sodass sie nicht mehr den ganzen Pfad beinhalten, sondern nur die letzte/gewünschte Kategorie(n). Also manuell gelöst. Über TWIG (automatisch) habe ich es nicht hin gekriegt.

vg,

Hallo 

gibt es hier mittlerweile eine Lösung?

Bei der Auswahl “Strukturkategorie” steht doch eigentlich “… ist selbst nicht aufrufbar und dient lediglich zur Gliederung”, in meinem Breadcrumb werden diese Punkte aber immer angezeigt und ich kann sie auch aufrufen, was dann immer zu einer weißen Seite führt.

Viele Grüße

Hallo,

ich habe lediglich die SEO Pfade geändert und die Strukturkategorien aus dem Pfad gelöscht.

@blueroger schrieb:

Hallo,

ich habe lediglich die SEO Pfade geändert und die Strukturkategorien aus dem Pfad gelöscht.

Das versteh ich nicht so ganz. Wenn ich die SEO-Pfade ändere, dann bleibt der Navigationspunkt “Footernavigation” doch trotzdem im Breadcrumb stehen, er hat nur einen anderen Pfad wenn man drauf klickt, oder?

Sorry, stimmt.

So habe ich es gemacht:

ich habe die Datei breadcrumb.html.twig angepasst.

{% block component_listing_breadcrumb %}
    {% set breadcrumb = category.buildSeoBreadcrumb(context.salesChannel.navigationCategoryId) %}
    {% for key, item in breadcrumb %}
        {% if key is same as(category.id) and category.type == 'page' %}
        
            {% block component_listing_breadcrumb_category %}
                
                    {% block component_listing_breadcrumb_link_name %}
                        {{ item }}
                    {% endblock %}
                
            {% endblock %}
            {% block component_listing_breadcrumb_placeholder %}
                {% if item != breadcrumb|last %}
                    
                        {% sw_icon 'arrow-medium-right' style { 'size': 'fluid', 'pack': 'solid'} %}
                    
                {% endif %}
            {% endblock %}
        
        {% else %}
        {% endif %}
    {% endfor %}
{% endblock %}

Somit werden nur die aktuellen Kategorien angezeigt, also kein Pfad. Mach aber wahrscheinlich kein Sinn mehr, die Naviagtion überhaupt anzuzeigen.

 

1 Like

Versuche das auch anzupassen. Meine breadcrumb.html.twig sieht aber anders aus: 

{% block layout_breadcrumb_inner %}
    
        {% block layout_breadcrumb_list %}
            
                {% for breadcrumb in breadcrumbList %}
                    {% set name = breadcrumb.translated.name %}
                    {% set link = breadcrumb.link %}
                    {% block layout_breadcrumb_list_item %}
                        
                            {% if link %}
                                
                                    
                                    {{ name }}
                                
                            {% else %}
                               
                                {{ breadcrumb.name }}
                            
                            {% endif %}
                            
                        
                    {% endblock %}
                {% endfor %}
            
        {% endblock %}
    
{% endblock %}

Ist diese Datei: /vendor/shopware/storefront/Resources/views/storefront/layout/breadcrumb.html.twig dann die richtige? Viele Grüße

Hallo,

ich habe die Datei unter /storefront/component/listing/ angepasst.

Hallo,

leider kann ich diesen Pfad bei meiner 6.3 Installation nicht finden. Ich habe die Demodaten eingespielt und bin jetzt dabei, das Layout manuell per CSS anzupassen.
Habe ich irgendwo zuwenig installiert oder übersehe ich da gerade etwas?

Der komplette Pfad bei mir heißt:

/vendor/shopware/storefront/Resources/views/storefront/component/listing/breadcrumb.html.twig

1 Like

Danke, die Lösung klappt… ist jedoch wie von Dir geschrieben dann auch fast unnötig, bzw. man kann dann die Breadcrumb einfach weglassen. Wenn man jetzt wenigstens den anderen Kategorien css-Klassen anlegen könnte, dann wäre das vielleicht ein Ansatz für eine Lösung…

Die Änderung wird doch aber beim nächsten Shopware Update gelöscht, oder?

Nein, die Datei kopierst du und änderst sie in deinem Theme

1 Like

Hallo blueroger,

danke für deine Hilfe. Ich habe das jetzt so angelegt und in meinem Theme abgelegt - funktioniert super  Thumb-Up

Hier für die, die wie ich am Anfang mit Shopware 6 voll auf dem Schlauch stehen:

Datei:  breadcrumb.html.twig anlegen unter: " root/custom/plugins/DEINTHEME/src/Recources/views/storefront/component/listing/"

Inhalt einfügen:

{% sw_extends '@Storefront/storefront/component/listing/breadcrumb.html.twig' %}
{% block component_listing_breadcrumb %}
    {% set breadcrumb = category.buildSeoBreadcrumb(context.salesChannel.navigationCategoryId) %}
    {% for key, item in breadcrumb %}
        {% if key is same as(category.id) and category.type == 'page' %}
        
            {% block component_listing_breadcrumb_category %}
                
                    {% block component_listing_breadcrumb_link_name %}
                        {{ item }}
                    {% endblock %}
                
            {% endblock %}
            {% block component_listing_breadcrumb_placeholder %}
                {% if item != breadcrumb|last %}
                    
                        {% sw_icon 'arrow-medium-right' style { 'size': 'fluid', 'pack': 'solid'} %}
                    
                {% endif %}
            {% endblock %}
        
        {% else %}
        {% endif %}
    {% endfor %}
{% endblock %}

… speichern

Cache im Shop leeren - Fertig!

1 Like

Hallo,
ich habe dazu zumindest in den Breadcrumbs einen quickfix geschrieben. Wenn ihr das ganze sauberer löst bitte her damit :smiley:

    {% set categoryType = [] %}
    {% set navigationTreeCopy = navigationTree %}
    {% for CategoryId in category.path|split('|')[2:-1] %}
        {% if navigationTreeCopy[CategoryId] %}
            {% set categoryType = categoryType|merge({(CategoryId) : navigationTreeCopy[CategoryId].category.type}) %}
            {% set navigationTreeCopy = navigationTreeCopy[CategoryId].children %}
        {% endif %}
    {% endfor %}
    {% for key, item in breadcrumb %}
        {% if key is same as(category.id) or categoryType[key] == 'page' %}

Wie kann ich denn generell die eigentliche Größe des Breadcrumbs festlegen, da der Abstand bei uns (besonders auf der Startseite) viel zu groß ist?

Hallo,

erstmal vielen Dank für den hilfreichen Input!

Ich versuche gerade den Breadcrumb NUR auf meiner Landing Page zu entfernen, ich bekomme es leider nicht hin… Diese 64 px große, weiße Lücke direkt auf der Main Page nerven :frowning:

In der Konsole wird der Abschnitt als

<div class="breadcrumb cms-breadcrumb container">
<nav aria-label="breadcrumb">
<ol class="breadcrumb" itemscope="" itemtype="https://schema.org/BreadcrumbList">
</ol>
</nav>
</div>

beschrieben.

Bin für jeden Hilfe/Tipp dankbar!

1 Like