Zum Inhalt springen

Eine Klasse/Code in einem Hook nachladen

Erstellt am 14. Juni 2010 · 2 Antworten · letzte Antwort am 24. November 2010

Tags: Frage

Norc ·

Hallo zusammen,
ich habe einen Hook auf die Loginfunktion im FE erstellt, um nach dem Login bestimmte Aktionen auszuführen.
Dazu müsste ich allerdings Klassen benutzen können, die im Verzeichnis der Extension liegen, bzw. von einer anderen Extension zur Verfügung gestellt werden.

Mein Hook wird bei jedem Login ausgeführt und meldet sich auch erfolgreich zurück. Sobald ich aber außerhalb der Hookfunktion z.B. weiter Funktionen erstelle, um diese mit $this-> aufzurufen, wird der Hook nicht mehr ausgeführt, jedenfalls nicht bis zum Ende, wo er in der DB einträgt, das er durchlaufen wurde.

Wie also kann ich externen Code in meinem Hook verwenden? (Klassen / Funktionen).

Gruß Frank

Norc ·

Für Dateien aus anderen Extensions

require_once(t3lib_extMgm::extPath('EXT_KEY_HIER').'PFAD_ZUR_DATEI'); //pfad relativ zum Ext. Verzeichnis -> z.B. 'pi1/class.tx_kzvnmail_pi1.php'
$meineKlasse = new klassenname(); // z.B. tx_beispiel_pi1

jetzt kann einfach über $meineKlasse->funktionxy(..); aufgerufen werden.

Für TYPO3 eigene Dateien habe ich folgendes gefunden:

//Bsp1:
//tslib_cObj instanzieren um stdWrap nutzen zu koennen
$cObj = t3lib_div::makeInstance('tslib_cObj');

//Bsp2:
//fuer die Funktion getTypoLink benoetigt:
require_once(PATH_site.'typo3/sysext/cms/tslib/class.tslib_content.php');
$TSLIB_Obj=t3lib_div::makeInstance('tslib_cObj');


//Bsp. Verwendung:
$link = $TSLIB_Obj->getTypoLink_URL($PID, array(), '');

Vielen dank ans Forum für die vielen unglaublich hilfreichen Anfängertipps [/ironie]