SEO-URL Kategorie

Hallo liebe Shopware-Entwickler,

wir haben folgendes Problem.

Als SEO-URL bei Kategorien solle immer nur die Hauptkategorie, gefolgt von der aktuellen Kategorie angezeigt werden, also statt:

https://www.mecci.de/garten/sichtschutzzaun/holz/sichtschutz-sina-kdi-braun/

z.B.

https://www.mecci.de/garten/sichtschutz-sina-kdi-braun/

 

Ich habe es mit folgendem Smarty-Code im SEO-Router probiert:

{assign var="fullPath" value={sCategoryPath categoryID=$sCategory.id}}
{assign var="explodePath" value="/"|explode:$fullPath}
{if $sCategory.description != $explodePath[0]}{$explodePath[0]}/{/if}
{$sCategory.description}/

leider funktioniert das nicht und ich finde auch keine Möglichkeit das zu debuggen, geschweige denn eine Information, welche Variablen und Funktionen zur Verfügung stehen.

Vielen Dank schon mal für Eure Unterstützung.

LG Georg

Das kann mit Smarty nicht funktionieren, das ist ja nur für die Ausgabe am Ende zuständig. Die URLs sind aber alle schon vorher generiert und in der Datenbank abgelegt. Du wirst dir ein Plugin schreiben (lassen) müssen, dass bei der Erzeugung der URLs schon greift.

Alternativ mal im Store schauen, es gibt diverse SEO-Plugins, vielleicht bietet ja eines davon die von dir gewünschte Funktionalität.

Gruß

Matt

Die verfügbaren Variablen stehen in der Doku: https://docs.shopware.com/de/shopware-5-de/einstellungen/seo#tipps-und-tricks

Der Kategoriepfad wird allerdings über eine Funktion erzeugt (Erkennt man am fehlenden $). Und auch hier findet man ein funktionierendes Beispiel im Forum: https://forum.shopware.com/discussion/comment/241720/#Comment_241720

{assign var=‘tree’ value=’/’|explode:{sCategoryPath categoryID=$sCategory.id}}{$tree[0]}/{$sCategory.description}

  

  
1 Like

[@Moritz Naczenski](http://forum.shopware.com/profile/14574/Moritz Naczenski “Moritz Naczenski”)‍ Vielen lieben Dank für die Ausführung und den Link in der Doku, auf die Idee bei Tipps und Tricks zu schauen, muss man erst mal kommen.

Die von Ihnen beschriebene Ausführung funktioniert auch nicht, aber dank des Links bin ich auf das Problem gestoßen. Es gibt die Variable {$sCategory.description} an der Stelle nicht, man kann aber mit .name Arbeiten.

Der Folgende Code hat die Lösung gebracht:

{assign var='tree' value='/'|explode:{sCategoryPath categoryID=$sCategory.id}}{$tree[0]}/{if $sCategory.name != $tree[0]}{$sCategory.name}/{/if}

Im Grundsätzlichen code war also einmal das Problem den Trenner statt mit einfachen Anführungszeichen mit doppelten zu nutzen und eben, dass .description nicht existiert.

Liebe Grüße

Georg