plamka
I'm new here

Seitenstruktur auslesen script

Jump to solution

Hi,

ich würde gerne ein Script erstellen, mit dem die Struktur ausgelesen wird.

Zusätzlich muss überpüft werden ob der Content für den jeweiligen Sprachkanal übersetzzt ist.

Wie gehe ich am besten vor?

siteStore = context.getUserService().getStore(Store.Type.CONTENTSTORE , false);

siteStoreList = siteStore.getChildren(StoreElement.class, true).toList();

Die Liste bekomme ich bereits ausgelesen, jetzt ist die Frage, lieber den Contentstore oder den Sitestore auslesen?

Wie komme ich an die anderen Informationen dran? 

z.B. Seite wird an mehreren Stellen in der Struktur referenziert ?

z.B. is Translated ("DE") ???

Danke im Vorraus

Labels (1)
0 Kudos
1 Solution

Accepted Solutions
feddersen
Community Manager
Community Manager

Re: Seitenstruktur auslesen script

Jump to solution

PageRef.getContent2Params()

View solution in original post

0 Kudos
12 Replies
MarcusDau
Occasional Collector

Re: Seitenstruktur auslesen script

Jump to solution

Ich lese immer den Sitestore aus. Das ist ja auch meine Struktur.

An die anderen Infos kommst doch relativ leicht ran.

Iterator über Deine siteStoreList laufen lassen und dann an dem jeweiligen Element abfragen:

a) element.getIncomingReferences()  (hier bekommste nen ReferenceEntry[] zurück; einfach die Anzahl auslesen!)

b) element.getPage().isTranslated(Language)

Grüße

Marcus

0 Kudos
gockel
Crownpeak employee
Crownpeak employee

Re: Seitenstruktur auslesen script

Jump to solution

siteStoreList = siteStore.getChildren(StoreElement.class, true).toList();

Davon ist aus Performancegründen dringend von abzuraten, da so alle Kinder in den Speicher geladen werden.

Verwendet werden sollte dieses Pattern:

for (IdProvider element: siteStore.getChildren(IdProvider.class, true)) {

     // todo

}

jetzt ist die Frage, lieber den Contentstore oder den Sitestore auslesen?

Für die Struktur kommt nur der "SiteStore" in Frage. Dann sollte auch überlegt werden, vielleicht in der oberen Schleife statt IdProvider.class direkt PageRef.class zu verwenden.

0 Kudos
plamka
I'm new here

Re: Seitenstruktur auslesen script

Jump to solution

Super vielen Dank für die Antworten.

Komme ich eigentlich auch irgendwie an den URLCreator ran ?

Ich befinde mich momentan im Projekt, das Script wird somit auch aus dem Projekt ausgeführt.

Nutze somit momentan den GUIContext, der stellt leider keine "getURLCreator" Methode zur Verfügung ???

0 Kudos
plamka
I'm new here

Re: Seitenstruktur auslesen script

Jump to solution

Ist es eigentlich möglich die URLs zu z.B. einzelnen News über ein Script auszulesen (content Projektion) ? z.B. ich nutze eine Seite für die Darstellung von n News.

0 Kudos
feddersen
Community Manager
Community Manager

Re: Seitenstruktur auslesen script

Jump to solution

Könnten Sie vielleicht etwas genauer schreiben was Sie bauen wollen?

Eine Liste von allen Urls, inkl. der Contentprojektionen kann man sehr einfach über die Navigationssfunktion erstellen, die in Templates zur Verfügung steht. Damit würde man sich jede Menge Scripting sparen.

0 Kudos
plamka
I'm new here

Re: Seitenstruktur auslesen script

Jump to solution

Selbstverständlich:

Wir haben eine Webseite, auf der sich zuerst ein Benutzer anmelden muss (Persoanlisation)

Die Seite ist somit personalisiert. Der Benutzer soll dann die Möglichkeit haben einzelne Seiten zu seinen Favoriten hinzuzufügen (ähnlich wie Bookmarks). Die Seiten sollen aus einer Tabelle ausgelesen und in Form von einer Auswahlliste zur Verfügung gestellt werden. Über die Auswahlliste wählt der User dann seine Favoriten aus (so in etwa).

Das Script soll alle möglichen Seiten (aus der Seitenstruktur) parsen und diese in diese Tabelle schreiben.

Die Tabelle soll ungefähr wie folgt aussehen.

SITESTORE_ID, URL, LANGUAGE (Sprachkanal), NAME

Momentan habe ich noch das Problem, dass ich die URL nicht generiert bekomme. Ich gehe aber davon aus, dass ich die URL dann generiert bekomme, wenn ich mein Script direkt im Auftrag als Aktion ausführe und nicht im CMS System selbst. Dadurch steht mir auch ein anderer Context zur Verfügung, richtig???

Als nächstes würde ich auch gerne die Datenquelle auswerten (z.B. News). Die News würde über eine Detailsseite abgebildet werden. Wie würde ich die URLs zu den einzelnen news ermitteln, geht das überhaupt???

Ich vermute nämlich, dass das garnicht möglich ist, da eine Projektionsseite keinen festen Bezug zu den einzelnen Datensätzen hat. Ich könnte z.B. über einen contentSelect die einzelnen News auf einer Übersichtsseite auslesen, wieviele News am Ende aber ausgegeben werden und welche Seiten die Detailsseite darstellen, weis ich doch garnicht?

0 Kudos
plamka
I'm new here

Re: Seitenstruktur auslesen script

Jump to solution

Und wie erstelle ich eine URL aus dem Objekt bzw. bekomme den Serverrelativen Pfad heraus ???

0 Kudos
fz_gpm
I'm new here

Re: Seitenstruktur auslesen script

Jump to solution

...schau doch mal hier.

Ist zwar eigentlich für die Google-Sitemap, aber mit dieser Funktion bekommst du auf jedenfall alle Seiten deiner Webseite.

Ich denke das ist auf jedenfall schon mal ein gute Grundlage.

Viele Grüsse

Frank Zöller

0 Kudos
plamka
I'm new here

Re: Seitenstruktur auslesen script

Jump to solution

Vielen Dank. Das ist schon ganz hillfreich.

Ich müsste jetzt allerdings noch die ganze Seitenstruktur in einer Tabelle speichern, zudem müssten auch alle Sprachkanäle ausgewertet werden.

0 Kudos