laqu
I'm new here

UrlFactory: Ordner aus Pfad entfernen

Hallo,

Wir nutzen derzeit die AdvancedUrlFactory aus den Examples in einer leicht angepassten Variante.

Derzeit haben wir folgende Url-Struktur:

<domain>/SPRACHKÜRZEL/aaa/yyy/zzz/asdf.html

Hier wollen wir jetzt den "aaa"-Folder aus der Url entfernen, kann mir an der Stelle jemand weiterhelfen?

Danke & Gruß´

Lars

0 Kudos
7 Replies
laqu
I'm new here

Leider bekomme ich auch keine Logging in das System, kann mir ansonsten jemand dabei weiterhelfen?

private final Class<?> LOGGER = this.getClass();

...

Logging.logDebug("DEBUG LOG" ,LOGGER);

funktiniert hier leider nicht.

0 Kudos
Peter_Jodeleit
Crownpeak employee

Das ist auch mit dem Standard abbildbar. Dafür in den "URL-Einstellungen" für den Ordner "aaa" als Pfad "/" definieren.

Peter

Das Logging funktioniert bestimmt (wenn DEBUG-Logging auf dem Server aktiviert ist). Wahrscheinlich wirst deine Factory einfach nicht aufgerufen, weil die URL schon persistiert ist. Für das Testing solltest du die Persistenz besser deaktivieren.

Peter
0 Kudos

Hallo Herr Jodeleit,

ich habe das gleiche Problem. Ich habe daher Ihren Lösungsvorschlag ausprobiert. Dazu bin ich in die URL-Einstellungen - SEO URLs gegangen und habe dort den Ordner ausgewählt und "/" (ohne Anführungszeichen) eingetragen. Es wurde aber anscheinend keine Änderung registriert. Muss hierzu noch etwas eingestellt werden?

Viele Grüße

Christoph Glatthor

0 Kudos
hoebbel
Crownpeak employee

Hallo Herr Glatthor,

haben Sie, nachdem Sie die SEO URL gesetzt haben, die URLs auf dem entsprechenden Ordner zurückgesetzt?

Hintergrund: Sofern die URLs gespeichert werden (Standardeinstellung), werden diese nur einmal berechnet und bleiben danach unverändert, bis sie zurückgesetzt werden.

Durch die von Ihnen vorgenommene SEO URL Einstellungen haben Sie für zukünftig zu berechnende URLs in dem entsprechenden Teilbaum den Namen des Ordners geändert (bzw. diesen aus der URL entfernt). Seiten, für die die URL aber bereits zuvor berechnet worden ist, behalten die bisherige URL.

Selbiges passiert beispielsweise auch, wenn Sie eine Seitenreferenz von einem Ordner in einen anderen verschieben. Die URL dieser Seitenreferenz bleibt dann die alte, so dass z.B. auf diese URL gesetzte Bookmarks weiterhin gültig bleiben.

Viele Grüße aus Dortmund

Holger Höbbel

0 Kudos
chgla
Returning Observer

Hallo Herr Höbbel,

leider hakt es bereits bei den SEO URL Einstellungen. Dort wird nichts angelegt, wenn ich die Eingabe bestätige. Ich nehme an, dass dort dann der Ordner auftauchen sollte.

Update: Ich konnte gerade für einen Ordner die SEO URL pflegen. Dies war erst dann möglich, als ich den vorherigen Pfad mit angegeben habe ("/de"). Diese Einstellung müsste ich aber für mehrere Ordner machen, aber dies ist wohl durch das CMS nicht möglich, da zwei Ordner die gleiche URL haben würden.

Viele Grüße

Christoph Glatthor

0 Kudos

Hallo Christoph,

das ist korrekt, über die Einstellung kannst du verschieden FirstSpirit-Ordnern nicht den gleichen URL-Pfad zuweisen. Wenn das nötig ist, kannst natürlich in eurer Überschreibung die Anpassung auch manuell vornehmen. Codepointer: UrlFactory & PathLookup​.

Pseudocode:

String getUrl(@NotNull ContentProducer node, @NotNull TemplateSet templateSet, @NotNull Language language, @NotNull PageParams pageParams) {

    String path = pathLookup.lookupPath(node);

    path = stripPrefix(path);

    return path + createFileName(node, templateSet, language, pageParams);

}

LG, Peter

Peter
0 Kudos