Zum Inhalt springen

JSeventFuncCalls-Problem

Erstellt am 27. Januar 2006 · 6 Antworten · letzte Antwort am 26. Februar 2009

Tags: Frage

lavitto ·

Hallo zusammen,
ich würde gerne bei meiner Extension, auf einer speziellen Seite ein "onLoad" definieren. Da das onLoad nicht immer in den BODY geschrieben werden soll, kann ich das nicht mit TS lösen.

Also versuchte ich folgendes:

$GLOBALS['TSFE']->JSeventFuncCalls['onload'][]="function();";

Leider funktioniert dies bei mir nicht. Die Extension "de_addbodyjscript" arbeitet mit der selben Funktion und bei ihr funktionierts.

Ich vermute es liegt daran, dass de_addbodyjscript am Schluss des Seitenaufbaus erstellt wird.

Weiss eventuell jemand von euch wie ich die JSeventFuncCalls-Funktion zum laufen bringe, in meiner Extension? Muss ich zusätzlich etwas spezielles definieren?

Herzlichen Dank

steffenk ·

versuch mal folgendes:

// add function to be called by 'onLoad' into header:
// (have $jsCode contain your javaScript-Code)
$TSFE->additionalHeaderData ['your_extension_key']= $jsCode;

// add onload into body-tag:
$TSFE->bodyTagAdd= 'onload="your_function();"';

//ad onload-function:
$GLOBALS["TSFE"]->JSeventFuncCalls["onload"][$this->prefixId]="your_function();";
lavitto ·

Hallo steffenK,

Danke für deine Hilfe. In den Header bringe ich den Code ohne Probleme, jedoch bringe ich weder mit JSeventFuncCalls noch mit bodyTagAdd die Funktion in das onLoad.

mmecker ·

Anscheinend werden bei Extensions, die als USER_INT definiert sind, weder bodyTagAdd noch $GLOBALS["TSFE"]->JSeventFuncCalls umgesetzt. Ist in der localconf.php der Extension dagegen in der t3lib_extMgm::addPItoST43-Anweisung der letzte Parameter ("cached") auf 1 gesetzt, werden diese Variablen ausgelesen und in entsprechende Event-Handler umgesetzt.

Mir ist allerdings nicht klar, ob das nun ein Bug oder ein Feature ist. #paralyzed#

j.​bort ·

Vor genau dem gleichen Problem stehe ich auch gerade bei einer Extension... würde mich auch mal interessieren, ob das ein Bug oder Feature ist?!

Kann da jemand mehr zu sagen und uns aufklären?

SeveQ ·

Irgendwelche neuen Informationen zu diesem Problem? Stehe vor dem selben Berg.

// edit: okay, also ich weiß inzwischen WARUM das nicht geht. Aber ich bin auf der Suche nach einer Alternative, einem Workaround, einer Lösung, irgendwas.