Search the FirstSpirit Knowledge Base
Hallo,
ist es möglich die Standard Referenzimplementierung vom AdvancedUrl Generator so zu konfigurieren,
dass Umlaute wie z.B. ä in der URL zu ae umgewandelt werden.
beispiel über-uns-html soll zu ueber-uns.html werden.
Außerdem möchten wir den Unterstrich "_" ebenfalls in einen Bindestrich in der URL ersetzen.
Beispiel: anzeige_dokoment.htm soll automatisch zu anzeige-dokument.html werden.
Hallo Stefan, das sollte über Konvertierungsregeln gehen:
- Legen Sie eine neue Textdatei an, in der Sie die gewünschten Ersetzungen (eine pro Zeile) eingeben. In der ersten Zeile schreiben sie [convert]
Das Format hierbei ist <Hexadezimalwert des Zeichens>="<String, in den es umgewandelt werden soll>"
Beispiel:
********************************
[convert]
0xC4="Ae"
0xD6="Oe"
0xDC="Ue"
********************************
- Öffnen Sie den ServerManager (Benutzer mit Server-Administrator-Rechten, z.B. der Benutzer Admin)
- Rufen Sie Server/Eigenschaften->Konvertierungsregeln auf
- Klicken Sie auf Hinzufügen
- Wählen Sie die Textdatei aus und geben Sie der Konvertierungsregel anschließend einen sinnvollen Namen (z.B. URLErsetzung)
- diesen Namen müssen Sie dann im Template verwenden, um die Regel anzuwenden (also für das Beispiel oben: $CMS_VALUE(ref(#nav.ref).url.convert("URLErsetzung"))$
Wenn es aber nur um das URLEncoden gehen sollte hilft auch folgendes Skript im Generierungsauftrag:
HashMap params = new HashMap();
params.put("useiris", "false");
context.setProperty("#urlCreatorSettings",params);
Ach ja, und bei beiden Lösungen nicht vergessen alle gespeicherten URLs zurückzusetzen.
Danke für die Informationen.
Ich möchte keine Zeichen auf den Webseiten mit convert bei der generierung anpassen,
sondern ich möchte die Dateinamen und Verzeuchnisnamen die auf dem Webserver landen ohne Umlaute und dem "_" haben.
Der Parameter „useIRIs“ hat leider keine Auswirkungen auf den Dateinamen, sondern wirkt sich lediglich auf die erzeugte Advanced URL aus.
Auf dem System steht weiterhin /Über-uns/index.html und nicht /ueber-uns/index.html im Webordner.
Hallo Stefan,
hast Du mal einen Blick in Kapitel 3.19 Beispiel: Einflussnahme auf die URL-Erzeugung des Entwicklerhandbuchs für Komponenten geworfen? Dort geht es um die Implementierung eines eigenen Url-Generators. Eventuell wäre das eine Alternative für euch, wenn auch etwas umständlicher als eine einfache Konfiguration des AdvancedURLCreators.
Viele Grüße
Donato
Hallo Stefan,
ist deine Frage noch offen oder konnte dir Donatos Hinweis weiterhelfen? In diesem Fall wäre es super, wenn du seine "richtige Antwort" entsprechend markierst.
Solltest du eine eigene Lösung gefunden haben, wäre es toll, wenn du sie hier erläutern würdest.
Viele Grüße
Michaela
Hallo zusammen,
auch ich benötige die Erstellung von umlautersetzten URLs.
Meine Advanced-URL-Creator Konfiguration:
import java.util.HashMap;
import java.util.HashMap;
factorySettings = new HashMap();
factorySettings.put("usewelcomefilenames", "all");
factorySettings.put("stripwelcomefilenames", "true");
factorySettings.put("removedeleted", "true");
factorySettings.put("uselowercase", "true");
factorySettings.put("useiris", "false");
//factorySettings.put("useregistry", "false");
context.setProperty("#urlCreatorSettings", factorySettings);
Obwohl useiris auf false gesetzt wird, werden die URLs mit Umlauten dargestellt. Ich möchte möglichst vermeiden, einen eigenen Creator zu verwenden.
Danke für Hilfe,
Markus
Hallo Markus,
benötigst Du noch weitere Hilfe oder hat Dir die Antwort von Martin bereits geholfen?
In diesem Fall wäre es super, wenn Du die "richtige Antwort" entsprechend markierst, damit auch andere
Community-Teilnehmer diese auf den ersten Blick finden. Solltest Du zwischenzeitlich eine eigene Lösung
gefunden haben, wäre es nett, wenn Du diese hier bereitstellst.
Viele Grüße
Nico
Es hilft ja nicht wirklich weiter, wenn von FS aus es keine Möglichkeit gibt Umlaute mit dem Advanced-URL-Creator so zu Konfiguration, dass diese umgewandelt werden, außer das man einen eigenen Creator baut - schade.
Für mich wäre dies eine Grundfunktionalität bei URLs, die über den Advanced-URL-Creator gebaut werden.