Zum Inhalt springen

Inhaltselemente in Abhängigkeit von einer Variable

Erstellt am 23. Oktober 2015 · 3 Antworten · letzte Antwort am 23. Oktober 2015

Tags: TYPO3 6.x, Frage

3dxO ·

Hallo,

wie kann ich CONTENT-Elemente abhängig von einer Variable anzeigen?
Ich hab folgendes probiert, klappt aber nicht (höchstwahrscheinlich aus gutem Grund 😉

now = TEXT
now {
  data = date:U
  strftime = %m
}

[globalVar = now = 10]
temp.kopfbild.select.pidInList = 65
temp.teaser.select.pidInList = 65
temp.seiteninhalt.select.pidInList = 65
[global]

Ziel ist es, abhängig vom Monat die Daten aus bestimmten Seiten auszulesen.

Hoffe sowas geht überhaupt in TS.

LG,
3dxO

maggo ·

Hallo,

das geht mit userFnc

[userFunc = check_variable(now)]
...
[end]

in die localconf.php schreibst du dann deine Funktion:

function check_variable($now) {
... check $ now und gib true zurück, wenn es passt
}

3dxO ·

Hi und danke... allerdings wird die Variable nich korrekt übertragen. ich hab es jetzt direkt mit zahlen probiert.

Allerdings hatte ich zwischenzeitlich etwas anderes ausprobiert und war schon recht weit:

class typoExtensions {
	public $cObj;
	public function getElement($content,$conf) 
	{
		$pidList = array(1,54,55,56,57,58,61,63,64,65,67,1);
		$pid = $pidList[date('n')-1];
				
		$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery( 
			'bodytext',         // SELECT ...  
			'tt_content',     // FROM ...  
			'pid="'.$pid.'" AND colPos = '.$conf['row'].'',    // WHERE...  
			'',            // GROUP BY...  
			'sorting',    // ORDER BY...  
			''            // LIMIT ... 
		);  
	
		while($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)){ 
			$output = $row['bodytext']; 
		}  
		echo htmlentities($output); //zu Testzwecken
		return '<div id="'.$conf['divID'].'" class="'.$conf['divCLASS'].'">'.$output.'</div>';
	}
}

einziges und großes Problem hierbei, die Links wurden nicht korrekt erzeugt, da steht immer <link 'id'>. Wie kann man in PHP denn den tt_content so ausgeben wie es von Typo3 gemacht wird?