Umlaute im URL key von Magento

Umlaute ist ja eines meiner Lieblingsthemen. Und Magento stellt sich da direkt hinter Afterbuy in die ‘Können wir nicht’-Schlange. Naja, fast. So heißt es in meinem Lieblingsbuch auf Seite 162:

Die URL-Bezeichnung ist wichtig, wenn Sie als Shop-Besitzer die Anzeige in der Adressleiste eines Browsers beeinflussen möchten. Sollten Sie das Feld leer lassen, generiert Magento automatisch aus dem Produktnamen die URL-Bezeichnung. Da das System aus dem USA stammt, werden die Umlaute dabei nicht berücksichtigt, sondern falsch dargestellt: ä als a, ö als o etc.

Soweit richtig. Magento berücksichtigt in der URL-Bezeichnung (URL key) keine Umlaute. Warum man im Buch aber nicht direkt auf die Lösung verweist erschließt sich mir nicht. Denn wer mag schon bei vierstelligen Produktzahlen jeden URL key in Handarbeit erstellen?

Allerdings muss die im Magento-Wiki befindliche Lösung noch etwas erweitert werden, denn die Einträge in app/etc/local.xml, die im Wiki genannt werden, berücksichtigen weder ß noch die Großbuchstaben Ä, Ö und Ü (die Ersetzung erfolgt offensichtlich bevor der String in Kleinbuchstaben gewandelt wird).

Der fertige Block, der direkt vor </config> eingesetzt wird, muss also lauten:

<default>
  <url>
    <convert>
      <char0228><from>ä</from><to>ae</to></char0228>
      <char0246><from>ö</from><to>oe</to></char0246>
      <char0252><from>ü</from><to>ue</to></char0252>
      <char0223><from>ß</from><to>ss</to></char0223>
      <char0196><from>Ä</from><to>ae</to></char0196>
      <char0214><from>Ö</from><to>oe</to></char0214>
      <char0220><from>Ü</from><to>ue</to></char0220>
    </convert>
  </url>
</default>

Damit werden Umlaute im Produktnamen im URL key korrekt umgeschrieben. Die Einstellung greift nicht für Kategorien. Wer dafür eine Lösung hat, immer her damit, aber Kategorien legt man ja auch nicht so oft neu an wie Produkte bzw. nicht in der selben Anzahl.

Ich bin Web Developer und arbeite als Lead Developer bei WIBROS. Ich liebe das Internet, Baseball, Softball, Bier und die Farbe orange. Ich hab früher mal zu viel Kaffee getrunken.

Comments (11) Write a comment

    • Schau mal, dass die Datei app/etc/local.xml die richtige Kodierung hat, nämlich UTF-8.

      Tritt das Problem auch auf, wenn du ein Produkt neu anlegst?

      Reply

  1. Hallo Matt,

    wenn ich ein Produkt neu anlege klappt alles prima.
    (dumme Frage): Wie finde ich denn heraus ob die Datei UTF-8 kodiert ist?

    Grüße,
    Marcus

    Reply

  2. Die Kodierung kann man in der Regel mit Hilfe des Editors prüfen. Aber wenn es bei Neuanlage klappt, dann scheint die ja zu passen, die Datei wird aber wohl bei einer nachträglichen Neuindexierung nicht berücksichtigt…

    Reply

  3. Hai,

    ich finde den Ansatz nicht schlecht, und was die Kategorien betrifft: Man trage den URL-Key eben hart für die Store-Ansicht ein.

    Abgesehen davon muss man ggf. auch von Mehrsprachigkeit ausgehen.

    Will sagen: Es ist der Suchmaschine recht wurst. Außerdem geht es immer auch um den multi-lingualen Ansatz.

    Frohe Ostern noch

    Otto

    Reply

  4. Ich habe ein ähnliches Problem mit den Umlauten und zwar habe ich eine Domain mit einem Umlaut, die zu einem Shop gehört. Der Shop war jetzt fertig aber leider lässt sich die Domain im Backend bei ungesichert und gesichert zwar hinterlegen, aber der Shop kommt nicht hoch.
    Liegt das daran, dass man bei Magento einfach keine URL mit Umlauten hinterlegt werden kann oder gibt es da eine Lösung über hataccess und wie könnte diese aussehen?

    Jeder Tip wäre hilfreich

    Reply

  5. Danke für den Tip! Habe ich soeben probiert, ich habe also die ACE-Umschreibung der Domain im Bakcend bei Magento eingetragen, funktioniert aber leider nicht.

    Ich habe bei der Domain eine DNS-Weiterleitung über den A-Record eingetragen. Vielleicht hilft es, wenn ich einfach eine versteckte Weiterleitung definiere, oder?

    Reply

  6. Entwarnung, ich hatte einen kleiner Tippfehler (wie meistens) in der Umschreibung drin, aber jetzt läuft es perfekt.
    Vielen Dank für den äußerst hilfreichen und professionellen Tipp, der zum Erfolg geführt hat!!

    Reply

  7. Kann man auch ein & Zeichen in die XML aufnehmen und was hätte dieses Zeichen für eine char Nummer?

    Reply

    • Der Ampersand ist 0026. Sollte prinzipiell auch gehen, hab ich nicht getestet.

      Reply

Leave a Reply

Required fields are marked *.