Problem mit SEO Urls

Hallo, will für ein neues Projekt die SEO Urls jetzt testen! Bei den Unterkategorien klappt das auch fast: Hier habe ich in den Router-Einstellungen folgendes für Kategorie-Templates gesetzt: „{$sCategory.attribute.attribute3}/“ Es wird aber leider der abschließende Slash ignoriert, d.h. www.domain.de/unterkategorie funktioniert, www.domain.de/unterkategorie/ nicht! Schwieriger ist es bei den Produkten: Hier habe ich nachfolgendes gesetzt: „{sCategoryPath articleID=$sArticle.id}/{$sArticle.attr8}.html“ Attr8 enthält dabei einen Unique-Key für das Produkt! Am liebsten hätte ich gerne folgende Struktur: www.domain.de/unterkategorie/mein-toller-artikel.html Ich will also immer nur den Pfad der AKTUELLEN Kategorie haben, nicht … www.domain.de/hauptkategorie/unterkateg … tikel.html Wie bekomme ich das hin? Gruß, Michael

Hallo Michael, ein / am Ende sollte eigentlich kein Problem sein. Allerdings musst du nachdem du die SEO Templates geändert hast sämtlich SEO URLs neu generieren. Welche Shopware Version setzt du ein? Mit {$sArticle.attr1}/{$sArticle.name} könntest du den von dir gewünschten Aufbau erreichen, wenn du im Artikel Attribut ein die Kategorie pflegst. Viele Grüße aus Schöppingen Patrick Schücker

Hallo Patrick, der ‚/‘ am Ende wird aber ignoriert! Am liebsten hätte ich es, wenn beide Versionen funktionieren und die ohne ‚/‘ per 301 auf die mit ‚/‘ weiterleitet. Wie man den Index neu generiert habe ich schon gefunden bzw. angestoßen. Gruß, Michael

Noch als Nachtrag: Ich will ja nur den letzten Eintrag des CategoryPath haben um folgendes Ergebnis zu erhalten: http://www.domain.de/unterkategorie/mei … tikel.html Oder ist das so nicht vorgesehen? Mit den Attributen kann ich ja schlecht arbeiten weil dann doch der Kategorie-Kontext verloren geht.

Hallo Michael, wie gesagt eine Standard Variable gibt es dafür nicht. Aber ein Slash am Ende einer Kategorie muss funktionieren. Das ist sogar im Standard so, wenn Shopware installiert wird. Das kannst du dir auch auf shopwaredemo.de anschauen. Nicht Standard ist allerdings, dass nur die Unterkategorie angezeigt wird. Dies solltest du aber mit Attributen regeln können. Wie sehen den aktuell deine SEO Templates aus? Gruß Patrick

Hallo Patrick, momentan habe ich folgendes gesetzt: [quote] SEO-Urls Kategorie-Template: “{$sCategory.attribute.attribute3}/” SEO-Urls Artikel-Template: “{$sCategory.attribute.attribute3}/{$sArticle.attr8}.html”[/quote] Die Kategorien sind jetzt passend, leider wird {$sCategory.attribute.attribute3} im Artikel-Template nicht ausgewertet! Und ich kann hier nicht mit einem Artikel-Attribut arbeiten, weil der Kategorie-Kontext ja wichtig ist. Gruß, Michael

Noch als Nachtrag: Der hängt derzeit die Kategorie per c=123 dran! Beispiel: /spruchkerze-man-sieht-nur-mit-dem-herzen-gut.html?c=572 Würde mich hier über ein Feedback freuen, dann könnte ich das Thema auch abschließen.

Hi Michael, das ?c=123 ist die Ursprungskategorie. Diese Variable muss übergeben werden, damit man korrekt vor und zurück blättern kann. Wenn du dieses nicht haben möchtest, dann gibt es in den SEO Einstellungen den Schalter “KategorieID aus URL entfernen”. Dies kannst du aktivieren. Im Artikel Template kannst du nicht auf Kategorie Attribute zurückgreifen. Das was du in dem Attributsfeld der Kategorie gespeichert hast müsstest du also noch einmal bei den Artikeln hinterlegen. Ich verstehe nicht ganz, was du mit “weil der Kategorie-Kontext ja wichtig ist” meinst. Zum Slash am Ende: Also im Standard funktioniert es. Du könntest einmal in den SEO Einstellungen das Datum des letzten Updates einmal leeren. Danach die SEO URLs Cache löschen. Wen du dich nun durch deinen Shop klickst werden die SEO URLs neu erzeugt. Das ganze kostet aber Leistung uns sollte somit nicht zur Hauptgeschäftszeit durchgeführt werden. Gruß Patrick

Hallo Patrick das mit dem “/” am Ende funktioniert mittlerweile! Zum Rest: Mal angenommen ich habe Artikel A, der den Kategorie B, C, D zugewiesen ist. Jetzt ruft ein Kunde die Kategorie B auf und will von dort den Artikel A aufrufen. Die URL soll jetzt nachdem Schema /b/artikel-a.html sein! Natürlcih soll man jetzt in dieser Kategorie entsprechend vor/zurück blättern können. Wenn der Kunde die Kategorie C aufruft und dort Artikel A aufruft soll die URL natürlich ‘/c/artikel-a.html’ sein. Wie ist denn der nachfolgende Aufruf zu verstehen? {sCategoryPath articleID=$sArticle.id} Denn die Funktoin ist ja da, ich will halt nur nicht den kompletten Pfad. Wichtig: Um den Canonical kümmere ich mich selbst! Der wird gesetzt und zeigt dann z.B. in jedem Fall auf ‘/b/artikel-a.html’. Gruß, Michael

Hi, um in der entsprechenden Kategorie vor und zurück blättern zu können ist halt das ?c=456 notwendig. Dies hat aber SEO technisch keine Bedeutung, da dies ja ein URL Parameter ist. {sCategoryPath articleID=$sArticle.id} stellt den Pfad bis zum Artikel zur Verfügung. Auf einzelne Kategorien kann damit nicht zugreifen. Du könntest dies als Featurewunsch auf jira.shopware.de einstellen. Gruß Patrick

Hallo, nur was ist denn überhaupt: "{sCategoryPath articleID=$sArticle.id} " Ein Smarty Plugin ja nicht! Wo finde ich den php Code dahinter? Gruß, Michael

Hi Michael, schau mal in die engine\core\class\sRewriteTable.php. Dort sollte die public function sCategoryPath zu finden sein. Gruß Patrick