Umlaute in Produkt-URLs und Kategorie-URLs

Speichert man Produkte oder Kategorien im Backend und gibt keinen URL-Key an, dann erzeugt Magento diesen automatisch. Allerdings reagiert Magento bei Umlauten und Sonderzeichen nicht so, wie man sich das erwartet.

Aus einem „ä“ wird ein „a“, aus einem „ö“ ein „o“ und aus einem „ü“ ein „u“. Dasselbe gilt für die Großbuchstaben.

Die Lösung

Man kann das  mit einer kleinen Extension beheben. Sie funktioniert in Magento CE 1.8 und 1.9 für Produkte und Kategorien, darunter nur für Produkte.

Dazu erstellt man die Aktivierungs-Datei app/etc/modules/Emzee_Umlaut.xml:

<?xml version="1.0" encoding="UTF-8"?>
<config>
	<modules>
		<Emzee_Umlaut>
			<active>true</active>
			<codePool>local</codePool>
			<depends>
				<Mage_Catalog />
			</depends>
		</Emzee_Umlaut>
	</modules>
</config>

Und erstellt in der Konfigurations-Datei der Extension ein Mapping der Umlaute in der Node default>url>convert:

<?xml version="1.0" encoding="UTF-8"?>
<config>
	<modules>
		<Emzee_Umlaut>
			<version>0.0.1</version>
		</Emzee_Umlaut>
	</modules>
	<default>
		<url>
            <convert>
            	<umlautA><from><![CDATA[Ä]]></from><to><![CDATA[ae]]></to></umlautA>
                <umlautO><from><![CDATA[Ö]]></from><to><![CDATA[oe]]></to></umlautO>
                <umlautU><from><![CDATA[Ü]]></from><to><![CDATA[ue]]></to></umlautU>
                <umlauta><from><![CDATA[ä]]></from><to><![CDATA[ae]]></to></umlauta>
                <umlauto><from><![CDATA[ö]]></from><to><![CDATA[oe]]></to></umlauto>
                <umlautu><from><![CDATA[ü]]></from><to><![CDATA[ue]]></to></umlautu>
            </convert>
        </url>
    </default>
</config>

URLs bestehender Produkte / Kategorien

Hat man bereits ein Produkt / eine Kategorie mit falscher URL angelegt, dann bringt das einfache Laden und Speichern nichts. Stattdessen muss man beim Bearbeiten des Datensatzes entweder den URL-Key im entsprechenden Eingabefeld selbst anpassen oder den Inhalt des Eingabefelds löschen, damit Magento selbst die Umwandlung vornimmt.

5 Antworten

  1. Hallo Theo, richtig in die Datei müsste es hinein!

  2. Theo sagt:

    wo genau soll „Und erstellt in der Konfigurations-Datei der Extension ein Mapping der Umlaute in der Node default>url>convert:“

    dieser Teil abgespeichert werden und als was?

    Ich hatte jetzt gedacht in

    app\code\local\Emzee\Umlaut\etc\

    als config.xml

    ist das richtig, wenn ja geht es bei mir leider nicht ?

  1. 14.06.2014

    […] die erwähnte Extension ist inzwischen nicht mehrverfügbar. Ich beschreibe im Posting “Umlaute in Produkt-URLs und Kategorie-URLs“, wie man das mit ein wenig Code selbst beheben […]

  2. 14.06.2014

    […] benötigen wir eine kleine Erweiterung. Ich baue auf der Extension aus Umlaute in Produkt-URLs und Kategorie-URLs auf. Öffnen Sie die Konfigurationsdatei und fügen Sie folgende Einträge in der Mapping-Liste […]

  3. 24.06.2014

    […] mir gibt es zwei neue Artikel  zu Produkt- und Kategorie-URLs: Umlaute in Produkt-URLs und Kategorie-URLs und Artikel und Bindewörter aus Produkt-URLs / Kategorie-URLs […]