Search the FirstSpirit Knowledge Base
Hallo zusammen,
wie komme ich in einem SchedulerContext an den UrlCreatorProvider ?
Ich benötige die URL eines PageRef.
pageRef.getUrl(urlCreatorProvider, language, templateSet, pageParams, 1);
Ich habe auch schon ein paar Dinge wie dieses gefunden.
this.context.getProperty(GenerateTaskExecutor.CONTEXT_KEY_URLCREATOR);
Nur leider ist das in einer nicht supporteten API und auch noch deprecated(UrlCreator).
Server-Version: 5.0.606.65744
Kann mir einer beschreiben wie ich die URL einer Seite im SchedulerContext erhalten kann?
Hier meine Methode die eigentlich im ScriptContext läuft, jetzt muss ich die Methode umbauen und als Modul laufen lassen, das Modul läuft wiederum in einem Task.
private String getRelPageURL(PageRef linkTarget, Long contentId, Long pageGroupIndex, Language language){
try {
UrlCreatorProvider urlCreatorProvider = context.getUrlCreatorProvider();
urlCreatorProvider.getUrlCreator().setUrlPrefix("/FIRSTspiritWeb/praefix/");
List<TemplateSet> templateSets = this.context.getProject().getTemplateSets();
this.context.logDebug("In getRelPageURL " + contentId + " " + language);
for (TemplateSet templateSet : templateSets) {
if (templateSet.getUid().equals("html")){
this.context.logInfo("All News " + linkTarget.getReferenceName() + "linkTarget instanceof-> " + linkTarget.getClass() );
if ( linkTarget != null && linkTarget instanceof PageRef)
{
PageParams pageParams = new PageParams(0, true);
if (contentId != null && contentId.longValue() > 0) {
pageParams = linkTarget.getMultiPageParams(language, templateSet).getPageParams(Collections.singletonMap("contentId", contentId));
} else if (pageGroupIndex != null && pageGroupIndex.intValue() >= 0) {
pageParams = linkTarget.getMultiPageParams(language, templateSet).getPageParams(pageGroupIndex.intValue());
}
return linkTarget.getUrl(urlCreatorProvider, language, templateSet, pageParams, 1);
}
}
}
return "";
} catch (Exception e) {
this.context.logError("getRelPageURL " + contentId + language,e);
return "";
}
}
Danke fürs lesen
Hallo Dirk,
benötigst Du noch weitere Hilfe oder habt Dir die Antwort von Marian 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
Rene