Questions & Answers

SOLVED
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

Type a product name