JohannesSpeckma
I'm new here

Release Status

Jump to solution

Hallo,

ich versuche gerade für die Erstellung einer XML-Sitemap die Seiten auszuschließen, welche im aktuellen Stand nicht freigegeben sind. Ich dachte über PageRef.getReleaseStatus() (SiteStore) wäre dies zu realisieren, bekomme aber als Rückgabewert immer 0. Anscheinen prüft die Funktion, ob es einen allegemeinen freigegebenen Stand gibt. Ist es nun möglich eine Seite innerhalb der Struktur auf "aktuell freigegeben" zu prüfen?

Danke und Viele Grüße

0 Kudos
23 Replies

Reicht dann nicht die normale Generic Navigation Funktion im Header einer Vorlage komplett aus?

http://www.e-spirit.com/odfs42/de/vorlagenentwicklung/vorlagensyntax/funktionen/im_header/genericnav...

Diese Funktion kann nicht nur die Menus (also Ordner der Struktur) generieren sondern auch alle Seiten, sogar die Datensatzdetailseiten. Diese Funktion generierte garantiert immer nur den freigegebenen Zustand.

Oder benötigen Sie doch etwas anderes?

0 Kudos

Hallo Johannes,

grundsätzlich stelle ich mir die Frage, warum die Sitemap über ein Script erzeugt werden muss und warum Du nicht die Standard NavigationFunction von FS benutzt!?

Aber bei Deinem Script holst Du Dir ja den Sitestore im nicht freigegebenen Zustand:

store = context.project.getUserService().getStore(Store.SITE_STORE,false);

Somit ist das beobachtete Verhalten erklärbar. Wenn Du Dir den freigegebenen Stand holst, sollte es gehen.

Viele Grüße

Jan Tilo

Hallo,

Die Standard Navigation Function kann meines Wissens nur Seiten anzeigen, wo die ParentFolder Optionen "Im Navigationsmenü anzeigen"  und "Navigationsmenü in Übersiht anzeigen" selektiert ist. Ich benötige aber auch Seiten in meiner Sitemap die innerhalb der Ordner liegen, wo die erwähnten Optionen nicht selektiert sind.

0 Kudos

Dann kannst du einfach über den Ordner und Seiten im Release oder Vorschau-Zustand iterieren und darauf vertrauen, dass du bei der Generierung nur freigegebene Seiten am Wickel hast.

store = context.project.getUserService().getStore(Store.SITE_STORE,context.isRelease());

Du brauchst dann die Prüfung, ob die Seite freigegeben ist, gar nicht mehr.

0 Kudos