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…
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.
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 %}