Hallo Typo3'ler
Ich haben auf unserer TYPO3 Webseite ein Startflash auf der Home-seite eingebunden. Ich möchte nun dieses Flash nur beim erstmaligen Betreten der Seite abspielen. Wenn ein User in der aktiven Session wieder auf die Startseite kommt soll es nicht mehr angezeigt werden.
Also habe ich ins Typoscript eine unserfunc eingebaut die:
[userFunc = user_match(checkUser)]
plugin.tx_automaketemplate_pi1.content.file = fileadmin/template/mains.htm
[end]
Diese userFunc läd wenn sie war ist eine andere Templatedatei in welche ich das Flash eingebunden habe.
Weiterhin habe ich meine userfunc in der localconf definiert:
function user_match($para)
{
session_start();
#echo "Durchlauf-->".$_SESSION["besucher"].":".$_SESSION["besucher1"]."<br />";
switch ($para)
{
case "checkUser":
if(($_SESSION["besucher1"]=="true"))
{
$_SESSION["besucher"]="true";
$_SESSION["besucher1"]="false";
#echo "true";
return true;
}
if(($_SESSION["besucher"]!="true"))
{
$_SESSION["besucher1"]="true";
}
break;
}
}
Die etwas seltsame Struktur ist darauf zurückzuführen, dass die Funktion aus mir unerklärlichen Gründen 2 mal aufgerufen wird. Also arbeite ich mit einer Hilfsvariablen. Die Funktion läuft auch ohne Probleme und liefert beim ersten Aufruf der Seite True (neue Session) ansonsten false.
Leider kommt diese Information irgendwie nicht in meinem Typoscript an, die Auswertung dort scheint immer flase zu liefern: [userFunc = user_match(checkUser)] wird also nie ausgeführt.
Ich verwende bei diesem Projekt noch die 3.7.0 Version.
Hat jemand Erfahrung mit solchen userFunc? Es muss auf jeden Fall am Parsen und Auswerten des Typoscript's liegen, da die in der Datei class.t3lib_matchcondition.php liegende Funktion function match($string) aus der Klasse t3lib_matchCondition auf meine definierte Funktion auch korrekt reagiert und true liefert.
Danke für die Hilfe