Zum Inhalt springen

CONTENT-Objekt, zufällig, und in Bestandteile aufgeteilt

Erstellt am 26. November 2009 · 1 Antwort · letzte Antwort am 30. November 2009

Tags: Frage

urs_braem ·

Hallo

Ich möchte aus einer Spalte mit dem CONTENT-Objekt einen Zufallseintrag ausgeben. Text & Bild. Jetzt ist es aber so, dass ich Text und Bild auf verschiedene MARKS verteilen muss.

Beides zusammen lässt sich wunderbar so auslesen:

temp.startcontent = CONTENT
temp.startcontent {
                table = tt_content
                wrap = |
                select {
                       where = colPos = 2
                       max = 1
                       orderBy = rand() 
                       languageField=sys_language_uid
                }
                renderObj = COA
                renderObj {
                5 = IMAGE
                5 {
                   wrap=|
                   required = 1
                   file.import=uploads/pics/
                   file.import.field = image
                   file.width=870
                   file.height=380
                   altText.field = altText
                   }
                10 = COA
                10 {
                    5 = TEXT
                    5 {
                      required = 1
                      wrap = <h2>|</h2>
                      field = header 
                    }
                   ((.... hier noch mehr so Inhaltssachen))
                   }
}

wenn ich das aber in 2 CONTENT-Objekte aufteile, greift "orderBy = rand()" für jedes von neuem, und die Zuordnung von Bild und Text ist nicht mehr gewährleistet.

Darum dachte ich mir, behältst du einfach dieses eine Objekt und passt es an, etwa so:

temp.startimage < temp.startcontent
temp.startimage.renderObj.10 >
temp.startbox < temp.startcontent
temp.startbox.renderObj.5 >

Aber es sieht mir danach aus, als werde das Objekt eben bei der Zuweisung wieder neu gerendert, d.h. das rand() greift wieder von neuem, und es wuschelt Texte und Bilder quer durcheinander.

Was kann ich tun?
Anderer Zufallsgenerator?
Oder andere Art der Zuweisung des Objekts auf die Teilobjekte?

??
Danke!
Urs

urs_braem ·

Probiere das mal noch etwas klarer zu formulieren.

Ein CONTENT-Objekt erhält den Parameter select.orderBy = rand().
Da wählt es einen zufälligen Record aus.

Wenn ich dieses Objekt nun mit dem Operator "<" kopiere, wird das "rand()" neu angewendet, und ich erhalte keine Kopie des Records, sondern wahrscheinlich ganz einen anderen.

Wie muss ich vorgehen, um einen zufälligen Record auszulesen, aber diesen dann "einzufrieren", so dass ich genau diesen Record mehrfach ausgeben kann?

Eben nicht eine Kopie des Objekts "Zufallseintrag" - sondern eine Kopie des zufällig ausgelesenen Eintrags. Wisstihrwieichmeine.

Danke!
Urs