[TYPO3-UG Dutch] over condities.. bezochte pagina..
Jigal van Hemert
jigal at xs4all.nl
Sun Jun 7 15:09:43 CEST 2009
> Er zijn wel extensies die iedere keer dat je de pagina bezoekt ad random
> een andere foto uit een bepaalde map laten zien.
Kijk wel uit met je keuze hierin; wag_randomimage bijvoorbeeld schakelt de
caching uit ( $GLOBALS["TSFE"]->set_no_cache(); ), waardoor je ook
problemen krijgt met indexed_search als je geen crawler gebruikt...
Overigens is dit ook met een simpele userFunc en een klein PHP scriptje op
te lossen. Extensies worden (voor een deel) op elke pagina meegenomen en
leveren een zwaardere site op; ook als je de extensie maar op een paar
pagina's daadwerkelijk gebruikt...
Verder kun je met een dergelijk userFunc script ook wat gegevens in de
sessie opslaan (ook bij niet-ingelogde bezoekers). Zie TSREF 14.1 [1]
Een simpele versie voor een random image:
TS:
includeLibs.user_randomImg = fileadmin/randomimg.php
lib.randimg = USER_INT
lib.randimg.userFunc = user_randomImg
randomimg.php:
<?php
function user_randomImg() {
$imgfiles = array();
$imgdir = 'fileadmin/random_images';
$dir = opendir(PATH_site . $imgdir);
while (false !== ($f = readdir($dir))) {
if (!is_dir($imgdir . '/' . $f)) $imgfiles[] = $f;
}
closedir($dir);
return '<img src="' . $imgdir . '/' . $imgfiles[rand(0, count($imgfiles)
- 1)] . '" />';
}
?>
Okay, deze is wel heel 'quick-and-dirty' :-)
Eigenlijk zou ik alleen de bestandsnaam uit de functie willen laten komen
en dan netjes een IMAGE object aanmaken om het in TS te laten zien.
In de TS is een USER_INT object gebruikt om te zorgen dat dit object niet
gecacht wordt; de rest van de pagina kan gewoon uit de cache komen.
[1]
http://typo3.org/documentation/document-library/references/doc_core_tsref/4.1.0/view/14/1/
--
Jigal van Hemert.
More information about the TYPO3-UG-Dutch
mailing list