Hallo,
ich habe eine neue Condition angelegt:
[userFunc = user_random_page()]
page.5 = TEXT
page.5.value = Zufällig ausgewählt
[end]
Ziel ist es, ein TypoScript nur auf zufälligen Seiten auszuführen.
Dazu selektiere ich einfach eine zufällige 'uid' aus 'pages' und vergeiche diese mit der aktuellen Page id. Stimmen diese überein, dann soll die condition greifen.
Soweit funktioniert das auch, nur dass die 'function user_random_page()' bei 'true' immer drei mal aufgerufen wird(???) Kann mir das vielleicht jemand erklären und mir einen Tipp geben, wie ich das verhindern könnte?
Hier meine ext_localconf.php:
<?php
if (!defined('TYPO3_MODE')) {
die ('Access denied.');
}
t3lib_extMgm::addPItoST43($_EXTKEY, 'pi2/class.tx_dfmodalbox2_pi2.php', '_pi2', 'list_type', 1);
function randomId() {
$res = mysql_query('SELECT uid FROM pages WHERE deleted = "0" ORDER BY RAND() LIMIT 1');
$num = mysql_num_rows($res);
while ($dsatz = mysql_fetch_assoc($res)) {
$randId = $dsatz['uid'];
}
return $randId;
}
function user_random_page() {
$istId = $GLOBALS['TSFE']->id;
$rdId = '';
$rdId = randomId();
//debug Info
print 'ist: '.$istId.'<br /> soll: '.$rdId . '<br />';
if ($istId == $rdId) {
return true;
} else {
return false;
}
}
?>