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