Produktexport: nur Unterkategorie ausgeben

Salut, wir arbeiten gerade daran die verschiedenen Feed für Preisvergleiche zu erstellen. Ladenzeile bspw möchte die Kategorierung sehr genau haben. Alle Produkte sind in Obern und Unterkategorie gesetzt. Ladenzeile allerdings möchte nur eine Kategorie. Mit {$sArticle.articleID|category:" > "|escape}{#S#} allerdings werden die Kategorie so ausgegeben „Kategorie1 > Kategorie2“ Lässt sich das Templatekürzel so anpassen, dass nur die Ober- bzw. Unterkategorie ausgegeben wird?

Hallo, ich habe hier vor einiger Zeit für einen Supportkunden eine Lösung entwickelt: {assign var=‚Kategorie‘ value=’ > '|split:{$sArticle.articleID|category}}{$Kategorie[{$sArticle.articleID|category:". "|count_sentences}]} Damit sollte immer die unterste Kategorie des Baumes ausgegeben werden. Ist sicherlich nicht die sauberste Lösung, sollte aber funktionieren. Eventuell hilft dir das weiter :wink: Grüße Moritz

1 Like

Hallo Moritz, vielen Dank für die schnelle Hilfe, das hilft schonmal weiter. Gäbe es diese Lösung auch um die obere Kategorie auszugeben?

Hallo, das ist mit dem Befehl kein Problem. Hier mal eine etwas genauere Beschreibung: Aufteilung der Kategorien in ein Array {assign var=‚Kategorie‘ value=’ > ‚|split:{$sArticle.articleID|category}} Auslesen der „letzten“ Kategorie des Arrays {$Kategorie[{$sArticle.articleID|category:". "|count_sentences}]} So könntest du beispielsweise die Hauptkategorie ausgeben lassen (in den meisten Fällen Deutsch): {$Kategorie[0]} Mit {$Kategorie[1]} kannst du Beispielsweise dann die Kategorie die direkt unter „Deustch“ ist ausgeben lassen. Hier mal ein komplettes Beispiel: {assign var=‚Kategorie‘ value=‘ > '|split:{$sArticle.articleID|category}}{$Kategorie[0]} > {$Kategorie[{$sArticle.articleID|category:". "|count_sentences}]} Hier würde dann ausgegeben: ‚Deutsch‘ > ‚Unterste Kategorie‘ Viele Grüße Moritz

1 Like

Hallo Moritz, ich hatte jetzt endlich mal die Zeit das umzusetzen bzw. auszuprobieren. Klappt bestens - vielen Dank!

Hallo,

hat bei mir auch bestens funktioniert. Ich würde die Formel gerne noch erweitern und prüfen, ob an in einer Kategorie ein bestimmter Wert steht. Wenn ja, dann soll eine Zahl ausgegeben werden.

Sprich, ich möchte prüfen, ob in Kategorie[1] z.B. “Kleidung” steht und wenn das der Fall ist, eine bestimmte Zahl (Google Produktkategorie) ausgeben.

Kann mir hier jemand weiterhelfen?

Vielen Dank

 

Auf meinem Dev-System hat der Code von Moritz Naczenski bestens funktioniert. 

Bei der Migration ist allerdings ein Fehler aufgetreten:

unknown modifier “split” 

Mit dem folgenden Code tritt der Fehler nicht mehr auf. Explode anstelle von split verwenden.

{assign var=‘Kategorie’ value=’ > '|explode:{$sArticle.articleID|category}}

3 Likes

@shopwarefortune danke, das hat mir zeit gespart. btw. 5.2.18 funktioniert es noch mit Split bei 5.2.21 nicht mehr.

1 Like

Hallo,

Bei der Suche nach einer Lösung um die Produktkategorien für Google Shopping als custom_label aufzusplitten bin ich auf diese Lösung im Forum gestoßen.

Ziel wäre für uns folgende Aufteilung:

label1 : Kategorie-Ebene-1

label2: Kategorie-Ebene-2

label3: Kategorie-Ebene-3 (falls vorhanden)

Leider gibt es beim Einbau des Codes bei uns ein Problem, es wird immer Kategorie-Ebene-1 > Kategorie-Ebene-1 ausgeben und nicht der weitere Teil des Baumes. Es scheint also die Split Funktion nicht zu funktionieren.

Die ursprüngliche Variable  {$sArticle.articleID|category:" > "|escape} wird bei uns aber korrekt mit Kategorie-Ebene-1 > Kategorie-Ebene-2 > Kategorie-Ebene-3 ausgeben.

Hat jemand eine Idee wo der Fehler liegen könnte? Bei uns fangen die Kategorien direkt mit Ebene1 an, die oberste Ebene “Deutsch” wird nicht mit ausgegeben.

Vielen Dank für eure Hilfe,

Steffen