Zum Inhalt springen

Auswahl per Zufallszahl

Erstellt am 9. Dezember 2006 · 3 Antworten · letzte Antwort am 16. Januar 2007

Tags: Inhaltselemente, Frage

Roger08 ·

Hallo,

ich möchte in jeder rechten Seitenspalte Inhalt von einer Hilfseite ausgeben. Dabei soll per Zufall eines(!) der Inhaltselemente ausgewählt werden und nicht alle.

Mein TS bisher:

temp.statischRechts = CONTENT
temp.statischRechts {
  table = tt_content
  select {
     where = colPos = 2
     orderBy = RAND()
     pidInList = 16
     languageField = sys_language_uid
  }

}

Hiermit werden allerdings alle Inhaltselemente ausgewählt und "nur" per Zufall aneinandergereiht. Gibt's nicht einen PHP-Befehl, um die Anzahl zu beschränken ?? LIMIT oder so ?

Roland

Roger08 ·

Ich bin's nochmal.
Der Zusatz "max = 1" bringt mich schon weiter. Es wird ein Inhalt für jede Seite per Zufall ausgewählt. Allerdings ändert sich daran bei erneutem Seitenaufruf oder "Aktualisieren" nichts mehr. Weil die Seiten im Cache sind ?
Lässt sich der Spalteninhalt vielleicht bei jedem Aufrufen der Seiten erneut per Zufall festlegen ?

temp.statischRechts = CONTENT
temp.statischRechts {
  table = tt_content
  select {
     where = colPos = 2
     pidInList = 16
     orderBy = RAND()
     max = 1
     languageField = sys_language_uid
  }

}

Roland

Roger08 ·

Ich musste mir wieder selbst helfen!

Das TS wählt per Zufall ein Inhaltselement von Seite 36 und schreibt es an die Stelle eines MARKERS:

temp.inhaltRechts = COA_INT
temp.inhaltRechts {
      ... 
      #Anzeige der Inhaltselemente aus Seite 36
      30 = CONTENT
      30 {
        table = tt_content
          select {
            pidInList = 36
            orderBy = RAND()
            max = 1
            languageField = sys_language_uid
            }
        
        renderObj < tt_content
        renderObj.stdWrap.wrap = <div class="infobox">|</div>
        renderObj.stdWrap.required = 1
        }
      }

Das cObject COA_INT wird beim Parsen nicht gecached. Dadurch erscheint bei jedem(!) Seitenaufruf ein anderes Inhaltselement.

Roland