Search the FirstSpirit Knowledge Base
Hallo Community,
Im Zuge der Generierung von URLs in FirstSpirit 5.0 mittels URL UrlFactory sind bei uns einige Fragen aufgekommen:
Vielen Dank und viele Grüße
Moritz Hartges
Auslesen geht über ContentProducer.getStoredUrl(..) bzw. über die Methoden von URLProperties. Über letztere kann man auch URLs setzen bzw. löschen.
[EDIT]
Fall zwei kann man durch die Implementierung einer UrlFactory bewerkstelligen.
Ich habe eine Strukturseite angelegt. Bei der Generierung werden entsprechende Dateien in der korrekten Verzeichnisstruktur angelegt.
Nachdem ich die Seite in der Struktur verschoben habe, wird die Datei weiterhin an der gleichen Stelle generiert.
Wenn ich nun die URLs für diese Seite zurücksetze, wird nur 1 URL gelöscht. Das trotz mehrerer Sprachen und Ausgabekanäle.
urlProperties.setLock( true );
urlProperties.resetStoredUrls( node );
urlProperties.setLock( false );
Außerdem wird die Seite bei der Generierung immernoch an der alten Stelle abgelegt. Gleichen geschiet, wenn ich die URLs über "Extras" -> "Gespeicherte URLs zurücksetzen" lösche.
Das hört sich nach einem Bug an. Bitte wende dich damit an unseren Helpdesk.
Mit folgendem Skript kann man auch direkt die UrlRegistry bearbeiten. Habe es genutzt um einen blockierten Pfad zu befreien, es benötigt ein Formular mit dem Input Feld sc_url, indem dann der Pfad angegeben wird.
import de.espirit.firstspirit.agency.OperationAgent;
import de.espirit.firstspirit.ui.operations.RequestOperation;
import de.espirit.firstspirit.agency.UrlRegistryAgent;
formData = context.showForm();
url = formData.get(null, "sc_url").get();
ra = context.requireSpecialist(UrlRegistryAgent.TYPE);
urlRegistry = ra.getUrlRegistry();
usages = urlRegistry.getEntries(url);
for (usage: usages){
urlRegistry.deletPath(usage);
}
requestOperation = context.requireSpecialist(OperationAgent.TYPE).getOperation(RequestOperation.TYPE);
if (usages.size() == 0){
requestOperation.perform("Nothing found with this URL!");
}
else {
requestOperation.perform("Done! Removed "+usages.size()+" entries.");
}