Benutzer: Gast
Eintrag: Jeder Tag ein neuer Inhalt

Jeder Tag ein neuer Inhalt

von: marcel
Kreise: Typo3

Beschreibung

Abhängig vom Tag der Woche soll ein anderer Inhalt angezeigt werden.

Dazu gibt es in Typo3 eigentlich conditions – im Speziellen dayofweek. Gerade dieser scheint aber in Typo3 6.1.5 nicht zu funktionieren.

Zum Glück ist select.pidInList vom Typ stdWrap und besitzt somit die Möglichkeit userFunc auszuführen. Wahrscheinlich gibt es noch andere Möglichkeiten wie den TEXT-date oder CASE Typ – damit würde man ohne userFunc auskommen.

Condition dayofweek (funktioniert nicht bei mir)

Code: TypoScript (TS)
lib.scheduler = CONTENT
lib.scheduler {
  table = tt_content
  select {
    orderBy = sorting
    pidInList =
  }
}
[dayofweek = 0]
lib.scheduler.select.pidInList = 33
[dayofweek = 1]
lib.scheduler.select.pidInList = 34
[dayofweek = 2]
lib.scheduler.select.pidInList = 35
[dayofweek = 3]
lib.scheduler.select.pidInList = 36
[dayofweek = 4]
lib.scheduler.select.pidInList = 37
[dayofweek = 5]
lib.scheduler.select.pidInList = 38
[dayofweek = 6]
lib.scheduler.select.pidInList = 39
[global]

Um trotzdem zum Ziel zu finden, habe ich eine UserFunc erstellt, die mir in Abhängigkeit vom Wochentag die anzuzeigende Seiten-UID (PID) zurückgibt:

fileadmin/user_dayOfWeek.php

Code: PHP
<?php 
class user_dayOfWeek {
  /**
   * @param string $content
   * @param array $conf
   * @return string
   */
  public function main($content, $conf) {
   return $conf[date("w")];
  }
}
?>

TypoScript mit postUserFunc

Code: TypoScript (TS)
# Content-Elements from pages in relation to the day of week
includeLibs.dayOfWeek = fileadmin/user_dayOfWeek.php
lib.scheduler = CONTENT
lib.scheduler {
  table = tt_content
  select {
    orderBy = sorting
    pidInList.stdWrap.postUserFunc = user_dayOfWeek->main
    pidInList.stdWrap.postUserFunc {
      # Sun
      0 = 33
      # Mon
      1 = 34
      # Tue
      2 = 35
      # Wed
      3 = 36
      # Thu
      4 = 37
      # Fri
      5 = 38
      # Sat
      6 = 39
    }
  }
}
Es gibt noch keine Kommentare.