Questions & Answers

SOLVED
Anonymous
Not applicable

Setzen von Content2Params auf PageRef

Jump to solution

Hallo zusammen!

Ich bin gerade in eine Sackgasse geraten. รœber ein Importerskript erstellen wir uns im Projekt unseren Strukturbaum. Dabei werden auch ContentProjektions-Seiten erstellt, und fรผr diese PageRefs mรผssen die Content2Params gesetzt werden. Nun gibt es auf PageRef die Methode getContent2Params() die mir ein solches Objekt liefert, nur kann ich die geรคnderten Parameter nicht mehr mittels eines setContent2Params(c2p) zurรผckspielen. Die Access-API sagt hier schlicht, dass es eine solche Methode nicht gibt.

Gibt es hier eine andere Mรถglichkeit die neuen Parameter der Seitenreferenz mitzuteilen oder muss ich gar nichts machen, da ich auf einer Referenz der Content2Params arbeite (somit die Parameter on-the-fly รคndere)?

FirstSpirit Client 4.2.462.49626

Benutzer: Admin

Gruppen (Projekt): Administrators, Everyone

Version Server: 4.2.462.49626

Java Version: 1.6.0_30 32bit Sun Microsystems Inc.

Betriebssystem: Windows 7 6.1 x86

Vielen GrรผรŸe aus Hamburg,

Nils

0 Kudos
1 Solution

Accepted Solutions
gockel
Crownpeak employee

Hallo Nils,

Gibt es hier eine andere Mรถglichkeit die neuen Parameter der Seitenreferenz mitzuteilen oder muss ich gar nichts machen, da ich auf einer Referenz der Content2Params arbeite (somit die Parameter on-the-fly รคndere)?

Es muss kein Setter aufgerufen werden, wenn es sich um eine neu angelegte Seitenreferenz handelt, die auf einer Seite mit einem Content-Absatz handelt.

Hier reicht dann:

final PageRef pageRef = folder.createPageRef("hurz", page, true);

pageRef.setLock(true, false);

try {

     final Content2Params params = pageRef.getContent2Params();

     params.setRecordCountPerPage(5);

     .....

     pageRef.save("created by importer", false);

} finally {

     pageRef.setLock(false, false);

}

Es gibt nur einen Sonderfall, wenn sich bei einer bestehenden Seitenreferenz der Content-Absatz der zugehรถrigen Seite geรคndert hat (zu einer anderen Tabelle gehรถrt), aber das scheint ja hier nicht der Fall zu sein.

Gruss

View solution in original post

0 Kudos
3 Replies
gockel
Crownpeak employee

Hallo Nils,

Gibt es hier eine andere Mรถglichkeit die neuen Parameter der Seitenreferenz mitzuteilen oder muss ich gar nichts machen, da ich auf einer Referenz der Content2Params arbeite (somit die Parameter on-the-fly รคndere)?

Es muss kein Setter aufgerufen werden, wenn es sich um eine neu angelegte Seitenreferenz handelt, die auf einer Seite mit einem Content-Absatz handelt.

Hier reicht dann:

final PageRef pageRef = folder.createPageRef("hurz", page, true);

pageRef.setLock(true, false);

try {

     final Content2Params params = pageRef.getContent2Params();

     params.setRecordCountPerPage(5);

     .....

     pageRef.save("created by importer", false);

} finally {

     pageRef.setLock(false, false);

}

Es gibt nur einen Sonderfall, wenn sich bei einer bestehenden Seitenreferenz der Content-Absatz der zugehรถrigen Seite geรคndert hat (zu einer anderen Tabelle gehรถrt), aber das scheint ja hier nicht der Fall zu sein.

Gruss

0 Kudos
Anonymous
Not applicable

Hallo Sebastian,

lรคuft! Vielen Dank! Sollte vielleicht in die JavaDoc der Methode rein.

Beste GrรผรŸe

0 Kudos
gockel
Crownpeak employee

Es ist generell so, dass StoreElemente ohne ID also einfache Kinder von Knoten mit ID geรคndert werden kรถnnen, ohne dass diese ร„nderung durch einen Setter zurรผckgeschrieben werden muss. (z.B. LanguageInfo, Picture, File, PageLangSpec, ...)

Ein save() des korrespondierenden Vater-IDProviders reicht hier aus.

0 Kudos

Type a product name