Search the FirstSpirit Knowledge Base
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
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.
Das ist auch mit dem Standard abbildbar. Dafür in den "URL-Einstellungen" für den Ordner "aaa" als Pfad "/" definieren.
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.
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
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
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
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