Kategorie Rewrite /möbel -> /moebel verhindern

Hallo an alle,

Gibt es eine Möglichkeit das ersetzten von Umlauten zu verhindern?

Und noch eine zweite Frage: wie verhält es sich mit auslänschen Sonderzeichen? Muss man die manuell einpflegen und wenn ja, wo?

LG Jack24

Die letztliche Ersetzung geschieht an dieser Stelle: shopware/sRewriteTable.php at 5.4 · shopware/shopware · GitHub

Unter der Haube wird hier der Cocur Slugifier eingesetzt (GitHub - cocur/slugify: Converts a string to a slug. Includes integrations for Symfony, Silex, Laravel, Zend Framework 2, Twig, Nette and Latte.), Du könntest versuchen einen Service der dasselbe Interface implementiert für Deine Zwecke zu bauen und die o.g. Methode zu überschreiben in der Klasse sRewriteTable. Leider geht es nicht einfacher da der Service noch nicht innerhalb des DIC definiert wird. :frowning:

1 „Gefällt mir“

Vielen Dank für die Antwort. Dann wird das wohl zu komplex. Ich dachte es gäbe vielleich eine einfache Methode das zu verhindern.

Dann eine andere Frage: Gibt es eine Liste, in der alle Zeichen und ihre entsprechenden Ersetztungen stehen?

also

ä = ae

ö = oe

 í = i

etc. - vorallem auch für Ausländische sonderzeichen. Die deutschen bekommt man ja noch grade so hin :wink:

Ich möchte nämlich ganz gerne die URLs in einem externen Programm „berechnen lassen“.

LG Jack24

Da könnten die Regeln vom o.g. Slugifier genau das sein was Du suchst: slugify/Resources/rules at master · cocur/slugify · GitHub

Hier zB. die dt. Regeln:

{
    "Ä": "AE",
    "Ö": "OE",
    "Ü": "UE",
    "ß": "ss",
    "ä": "ae",
    "ö": "oe",
    "ü": "ue"
}

 

1 „Gefällt mir“

Hallo nochmal. Ich hab das jetzt soweit umgesetzt und es klappt auch meistens. Nur eine Frage bleibt für mich noch offen, wenn es Sonderzeichen in zwei Sprachen gibt, die aber jeweils eine andere Übersetztung haben. Ein Beispiel:

Russisch:

„ь“: „“,

Bulgarisch:

„ь“: „i“,

Also im Russischen wird das Sonderzeichen in der URL einfach weggelassen und im Bulgarischen durch ein „i“ ersetzt. Jetzt habe ich den Shop in den Grundeinstellungen -  Shop auf Bulgarisch gestellt, dennoch orientiert sich der Shop an dem russischen Vorbild. Woran Liegt das?

 

LG Jack 24