Programmieren lernen | Codebeispiele | Jobbörse | Webentwicklung

Zufälligen Inhalt einer Spalte per TypoScript ausgeben.

In unserem Beispiel geben wir aus der Seite mit ID 2 und der Spalten ID 1, bis zu drei zufällige Datensätze aus.

lib.randomContent = COA_INT
lib.randomContent {
  10 = CONTENT
  10 {
    table = tt_content
    select {
      pidInList = 2
      where = colPos = 1
      orderBy = RAND()
      max = 3
      languageField = sys_language_uid
    }
    renderObj < tt_content
    renderObj.stdWrap.wrap = <div class="randomContent">|</div>
    renderObj.stdWrap.required = 1
  }
}

Getestet mit TYPO3 6.2

Hinweis: Funktioniert aktuell nur mit css_styled_content
Für die neue Version 8.7 habe ich hier eine Quick and Dirty Lösung mittels jQuery Online gestellt.

6 Gedanken zu „Zufälligen Inhalt einer Spalte per TypoScript ausgeben.“

  • Stephan
    30.03.2017 um 15:17

    Hey danke dir für deinen Snippet. Genau sowas habe ich gesucht. Verfolge deinen Blog schon seit einigen Wochen und in manchen Sachen hast du mir in Typo 3 wirklich weiter geholfen! Mach weiter so!

    Gruß

  • Markus
    30.03.2017 um 15:34

    Hallo Stephan, freut mich wenn ich dir weiterhelfen konnte.

  • thowe
    5.05.2017 um 18:44

    Hallo danke für dein Snippet!

    Habe es 1:1 in mein TS kopiert.

    TYPO3 8.7.1
    zusätzliche EXT: gridelements, bootstrap_grids, tx_news

    ‚Einbindung mit FLUID (etc) korrekt…

    Folgende Fehlermeldung!

    Oops, an error occurred!
    An exception occurred while executing ‚SELECT * FROM `tt_content` WHERE (`tt_content`.`pid` IN (23)) AND (colPos = 0) AND (`sys_language_uid` = 0) AND ((`tt_content`.`deleted` = 0) AND (`tt_content`.`t3ver_state` <= 0) AND (`tt_content`.`pid` -1) AND (`tt_content`.`hidden` = 0) AND (`tt_content`.`starttime` 1494002580)) AND (((`tt_content`.`fe_group` = “) OR (`tt_content`.`fe_group` IS NULL) OR (`tt_content`.`fe_group` = ‚0‘) OR (FIND_IN_SET(‚0‘, `tt_content`.`fe_group`)) OR (FIND_IN_SET(‚-1′, `tt_content`.`fe_group`))))) ORDER BY `RAND()` ASC LIMIT 3‘: Unknown column ‚RAND()‘ in ‚order clause‘

    Eine Idee….?

  • Markus
    10.05.2017 um 21:18

    Hallo thowe,

    tatsächlich funktioniert der Snippet nicht mehr mit fluid_styled_content. Sobald ich eine Lösung gefunden habe, aktualisiere ich den Artikel.

  • Martin
    30.05.2017 um 12:26

    Hallo Markus,
    die Lösung würde mich brennend interessieren. Ich hatte mal durch einen Tipp etwas ähnliches für Dateisammlungen zusammengestellt. Vielleicht hilft das weiter. Mir leider nicht, aber ich bin da auch nicht so tief drin: https://typo3.fischhase.de/standard-titel/zufaellige-hintergrundbilder-aus-dateisammlung/
    Grüße
    Martin

  • Markus
    30.05.2017 um 13:54

    Hallo Martin,

    bekannt ist das orderBy = rand() seit TYPO3 8.7 nicht mehr funktioniert. Eine quick and dirty Lösung wäre alle Inhalte auszugeben und mit jQuery die zufällige Darstellung zu regeln.

    Edit: Hab mal schnell ein Beispiel hier erstellt: TYPO3 8.7 zufälligen Inhalt ausgeben

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.