Questions & Answers

wiegele
I'm new here

UrlCreatorProvider SchedulerContext

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

0 Kudos
2 Replies
marza
I'm new here

Hallo Dirk,

vielleicht hilft Dir dieser Beitrag weiter?

Viele GrรผรŸe

Marian Zaplatynski

0 Kudos
rednoss
I'm new here

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

0 Kudos

Type a product name