Einzelnes Wort im Navigationpunkt fett

Hallo!

Ich möchte ein Wort im Menüpunkt fett schreiben - wie der Titel schon sagt. Der Menüpunkt kommt von einer Kategorie.

IST: Kategorie Name
SOLL: Kategorie Name

  • Ich habs per CSS probiert - geht nicht, da es keinen “first-word” selector gibt.
  • Kategoriename mit html nimmt er auch nicht, encodet oder escaped speichert er auch nicht.
    Kann ich hier irgendwie nen “strong” bzw “b” befehl einfügen?
  • JS “suche/tausche” ist suboptimal - wäre jetzt aber meine letzte Option…

Vielleicht habt ihr ja nooh Ideen zur Umsetzung!

Danke

Da man in den Kategorienamen sowieso keinen HTML Code schreiben kann (zumindest bei mir wird der immer gelöscht), könntest du das über ein CustomField lösen. Einfach ein Custom Field erstellen für die Kategorie, sowas wie “alternativeCatName”, dem du dann zB den Wert Kategorie Name gibst.

Das Twig Template navigation.html.twig einfach erweitern und dann Abfragen, ob das CustomField für die Kategorie gesetzt ist und wenn ja, dass er statt dem Kategorienamen den Wert des CustomFields ausgibt. Da reicht es, den Block “layout_main_navigation_menu_item” zu überschreiben. Der untere Code geht nur, falls du nicht schon selber Änderungen in diesem Block vorgenommen hast oder ein Theme besitzt, das dort schon Änderungen durchgeführt hat.

{% sw_extends '@Storefront/storefront/layout/navigation/navigation.html.twig' %}

{% block layout_main_navigation_menu_item %}
    {% if category.type == 'folder' %}
         0 %}
                data-flyout-menu-trigger="{{ categorId }}"
            {% endif %}
                title="{{ name }}">
                
                    
                    {# Hier wurde etwas geändert START #}
                         {% if category.translated.customFields.alternativeCatName is defined %}
                            {{ category.translated.customFields.alternativeCatName|raw }}
                        {% else %}
                            {{ name }}
                        {% endif %}
                    {# Hier wurde etwas geändert ENDE #}    
                    
                
        
    {% else %}
         0 %}
                data-flyout-menu-trigger="{{ categorId }}"
            {% endif %}
                title="{{ name }}">
            
                
                {# Hier wurde etwas geändert START #}
                    {% if category.translated.customFields.alternativeCatName is defined %}
                        {{ category.translated.customFields.alternativeCatName|raw }}
                    {% else %}
                        {{ name }}
                    {% endif %}
                {# Hier wurde etwas geändert ENDE #}  
                
            
        
    {% endif %}
{% endblock %}

Die Frage ist, wie das mit dem Thema Sicherheit ist, da man dann theoretisch über dieses CustomField auch schadhaften Code injizieren könnte. Aber da bin ich leider kein Experte. 

1 „Gefällt mir“

Theoretisch müsstest du das dann auch ein eigenes Kategorie-Template in den Erlebniswelten erstellen, damit die Überschrfift der Kategorie dort auch die Wörter fett geschrieben bekommt. Den Namen könntest du dann über das kostenlose HTML/Twig Plugin ausgeben., so a la:

{% if page.header.navigation.active.translated.customFields.alternativeCatName is defined %}
    {{ page.header.navigation.active.translated.customFields.alternativeCatName|raw }}
{% else %}
    {{ page.header.navigation.active.translated.name }}
{% endif %}

 

1 „Gefällt mir“

das ist tatsächlich ein sehr toller ansatz - danke!

ich probiere mal rum und berichte!

Gerne! Bin gespannt ob es so funkioniert. Bin auch erst ganz neu bei Shopware, kann also nicht garantieren, dass es so funktioniert.