Artikelnamen im Listing aufsplitten

Moin Mannschaft, wir haben folgendes Konzept bei der Benennung unserer Artikel: [color=blue]ARTIKELNAME[/color] [color=purple]Artikeldefinition[/color] [color=green]von Hersteller[/color] zum Beispiel: [color=blue]SUPERGRIP[/color] [color=purple]Sommerreifen 205 55 R16 [/color][color=green]von Michelin[/color] Und das soll im Listing dann folgendermaßen ausgegeben werden: [color=blue]SUPERGRIP[/color] [color=purple]Sommerreifen 205 55 R16[/color] [color=green]von Michelin[/color] Zutreffende ist immer: Das erste Wort ist der Artikelname und in großen Lettern geschrieben. Der Artikelname besteht nur aus einem Wort. Das vorletzte Wort ist “von”. Das letzte Wort ist der Hersteller. Vielleicht kann mir ja jemand bei der Lösung behilflich sein. Hierzu tummel ich mich in der templates/_default/frontend/listing block name='frontend_listing_box_article_name

Du benennst wirklich so deinen Artikel? Darf ich fragen warum?

Hi, das kannst du wahrscheinlich schnell über einen Regex machen: :wink: Beispiel: $t = preg\_replace('#([A-Z]+) (.\*) (von .\*)#msi', '$1 $2 $3', 'SUPERGRIP Sommerreifen 205 55 R16 von Michelin'); var\_dump($t); Ergebnis: string(56) "SUPERGRIP Sommerreifen 205 55 R16 von Michelin" Template-Beispiel: {"SUPERGRIP Sommerreifen 205 55 R16 von Michelin"|regex\_replace:'#([A-Z]+) (.\*) (von .\*)#msi':'$1 $2 $3'} Viele Grüße Heiner

1 „Gefällt mir“

[quote=“ottscho”]Du benennst wirklich so deinen Artikel? Darf ich fragen warum?[/quote] Für die Suchmaschine, den Produktexport, den Shop (auch wenn ich hier vermutlich relativ einfach den in der Storefont ausgegebenen Namen zusammenpuzzeln kann). Warum sollte ich es deiner Meinung nach denn nicht so machen? Gruß

Moin rocky, aber dieser Block in [color=blue]templates/_default/frontend/listing[/color] ist doch richtig? {\* Article name \*} {block name='frontend\_listing\_box\_article\_name'}[{$sArticle.articleName|truncate:47}]({$sArticle.linkDetails|rewrite:$sArticle.articleName} "{$sArticle.articleName}"){/block}

Was genau meinst du mir richtig? Das ist der Block, wo der Artikelname im Listing ausgegeben wird. Durch das „|truncate:47“ wird der Artikelname auf 47 Zeichen gekürzt. Das ist aber standardmäßig in Shopware so. :wink:

Funktioniert soweit ganz gut :slight_smile: Jetzt gibt es allerdings auch Artikelnamen, die Ziffern beinhalten. Z.B. [color=blue]SUPERGRIP52[/color] [color=purple]Sommerreifen 205 55 R16[/color] [color=green]von Michelin[/color] |regex\_replace:'#([A-Z]+) (.\*) (von .\*)#msi':'$1 $2 $3'} Vermutlich muss ich den Bereich A-Z um Ziffern erweitern?! {“SUPERGRIP Sommerreifen 205 55 R16 von Michelin”|regex_replace:’[color=red]#([A-Z]+)[/color] (.*) (von .*)#msi’:’$1
$2
$3’}

Ich habs. Die Lösung lautet: man mache aus: color=purple[/color] ganz einfach: color=purple[/color]

[quote=“hut”][quote=“ottscho”]Du benennst wirklich so deinen Artikel? Darf ich fragen warum?[/quote] Für die Suchmaschine, den Produktexport, den Shop (auch wenn ich hier vermutlich relativ einfach den in der Storefont ausgegebenen Namen zusammenpuzzeln kann). Warum sollte ich es deiner Meinung nach denn nicht so machen? Gruß[/quote] Sagen wir mal so. Vom Aufbau wäre bei mir SUPERGRIP52 Sommerreifen die normale Artikelbezeichnung, 205 55 R16 wäre die Variante (ich gehe mal davon aus du hast mehrere) und Michelin der Hersteller. Dann könntest du es im Listing immer noch zusammen bauen, so wie du es gerne angezeigt haben willst, aber ich finde es ordentlicher bzw. aufgeräumter. Dann hättest du den Stammartikel: SUPERGRIP52 Sommerreifen Und die Variante - Größe: 205 55 R16, 215 55 R16, 225 55 R16 etc. Das würde noch in der Shopware Standardversion gehen. Falls du das Konfigurator Plugin hast, würde ich noch eine Stufe weiter gehen: Stammartikel: SUPERGRIP52 Varianten-Gruppen: Art (Sommerreifen, Winterreifen, M+S, Allround etc.) Größen (205 55 R16, 215 55 R16, 225 55 R16 etc.)