yannsimon
I'm new here

Generierung: Namen für Seiten manuell spezifizieren (pretty urls)

Hallo,

FIRSTspirit generiert standardweise die Seite mit der folgenden Struktur:

/de/folder1/folder2/page.html

/en/folder1/folder2/page.html

Ich habe auch irgendwo gelesen, dass die folgende Struktur auch möglich ist:

/folder1/folder2/page.html.de

/folder1/folder2/page.html.en

Für die Suchengine Optimierung möchte ich aber gern die Namen der URL ganz anpassen, wie:

/folder1_auf_de/folder2_auf_de/page_de.html

/folder1_auf_en/folder2_auf_en/page_en.html

Ist es überhaupt möglich?

Oder muss man z.B. URL Rewriting von Apache benutzen, oder irgendwelche Komponente wie prettyfaces (http://ocpsoft.com/prettyfaces/)

Yann

0 Kudos
11 Replies
thomas_walter
I'm new here

Der erste Teil wird (zumindest in Version 4.1) in den Generierungsaufträgen beim Punkt Pfaderzeugung geregelt.

Das zweite ist ein Feauturewunsch den ich auch unterstreichen möchte, der aber glaube ich auch hier schon angelegt wurde.

0 Kudos
hoebbel
Crownpeak employee

Ich habe auch irgendwo gelesen, dass die folgende Struktur auch möglich ist:

/folder1/folder2/page.html.de

/folder1/folder2/page.html.en

Einfach bei der Generierungsaktion "Multiview URLs" auswählen.

Für die Suchengine Optimierung möchte ich aber gern die Namen der URL ganz anpassen, wie:

/folder1_auf_de/folder2_auf_de/page_de.html

/folder1_auf_en/folder2_auf_en/page_en.html

Ist es überhaupt möglich?

Wenn es auch page.en.html sein darf anstelle von page_en.html, dann bei der Generierungsaktion einfach Infix URLs auswählen. [Hier bin ich mir nicht sicher, ob die Links das Kürzel beinhalten, ich meine aber nicht. Gegebenfalls müssten die Linktemplates also so angepasst werden, dass vor der Endung das entsprechende Sprachkürzel eingefügt wird]

Steht übrigens beides im Handbuch für Administratoren im Kapitel

7.5.9.2 Generierung ausführen

Wenn es aber index_en.html sein muss, dann muss entweder ein eigener URL Creator geschrieben werden [nicht trivial] oder die Links bei der Generioeurng entsprechend umgebogen werden und nach der Generierung die Dateien über ein entsprechendes [Shell] Skript umbenannt werden.

0 Kudos

Bei:

/folder1_auf_de/folder2_auf_de/page_de.html

/folder1_auf_en/folder2_auf_en/page_en.html

meine ich eingentlich, dass der Redakteur Namen auf Deutsch und auf Englisch für die Folders und die Seiten eingeben kann.

z.b wird eine Seite so generiert:

- auf Deutsch: /suche/suchergebnisse.html

- auf Englisch: /search/searchresults.html

Könnte man es mit ein eingener URL Creator schaffen? Wenn ja, wo kann ich Dokumentation dafür finden?

0 Kudos

Yann Simon schrieb:

Könnte man es mit ein eingener URL Creator schaffen? Wenn ja, wo kann ich Dokumentation dafür finden?

Die findet sich in der Api-Doc:

http://www.e-spirit.com/odfs42/access/de/espirit/firstspirit/access/UrlCreator.html

Peter
0 Kudos

Ach so, das könnte noch hilfreich sein: javascript:;

Peter
0 Kudos

Wie kann ein URL Creator angelegt werden? Mit BeanShell?

Oder soll ich etwas in Java entwickeln und ein jar irgendwohin legen?

0 Kudos

Den URL Creator sollten Sie schon in Java implementieren, um FirstSpirit Ihre Klasse bekannt zu geben, reicht es ein Libary Modul zu bauen. Hier nochmal die Anleitung, sie finden aber hier noch ein Beispiel Zip.

In Ihrem Fall sollten die drei getFilename Methoden reichen.

0 Kudos

Danke für die Infos.

Frage:

- das Beispiel kompilieirt bei mir nicht. Ist es "normal"?

(z.N.: The import de.espirit.firstspirit.client.access.editor.swing.AbstractValueGuiEditor cannot be resolved    ComboboxGuiEditor.java    /FS_V4_mod/GomCompositeEditor/src/impl/de/espirit/firstspirit/opt/examples/gom/compositeeditor/combobox    line 7    Java Problem)

- ich weiss nicht, welches Typ von Komponente ich benutzen soll, um eine eigene UrlCreator zu benutzen.

Ist das ein <service>?

- wenn ich eine existiere UrlCreator "delegiere" möchte, woher kann ich wissen, welche Klasse ich dafür benutzen soll?

0 Kudos
gockel
Crownpeak employee

ich weiss nicht, welches Typ von Komponente ich benutzen soll, um eine eigene UrlCreator zu benutzen.

Der UrlCreator muss als Public in einer Library definiert werden. Vergl. Kapitel 2.9.1.7 der Moduldokumentation Nach Installieren des Moduls kann der UrlCreator dann Im Generierungsauftrag ausgewählt werden.

0 Kudos