[TYPO3-UG Dutch] extenden van de sysext class

Drs. Ing. W.S.M. Perquin perquin at yniverse.nl
Sat Jun 16 23:16:06 CEST 2012


TOP!
Ben er bijna.
Hoe kan ik achterhalen of er een backend user is ingelogd?
Via $GLOBALS['TSFE'] zie ik dat de beUserLogin gelijk is aan 0.
Terwijl ik wel degelijk ben ingelogd.
Iemand een idee hoe ik kan zien of de betreffende bezoeker ook in de backend
is ingelogd?

-----Oorspronkelijk bericht-----
Van: typo3-ug-dutch-bounces at lists.typo3.org
[mailto:typo3-ug-dutch-bounces at lists.typo3.org] Namens Jigal van Hemert
Verzonden: zaterdag 16 juni 2012 20:05
Aan: typo3-ug-dutch at lists.typo3.org
Onderwerp: Re: [TYPO3-UG Dutch] extenden van de sysext class

Hoi,

On 16-6-2012 18:02, Drs. Ing. W.S.M. Perquin wrote:
> Nu wil ik alleen de TYPO3 class:
>
> typo3/sysext/cms/tslib/class.tslib_fe.php
>
> extenden. En er wijzigingen in aanbrengen zonder de core aan te moeten 
> passen.
>
> Mijn vraag is dan ook. HOE moet ik dat doen?? En
 kan dat überhaupt.

Ja, dat kan. De methode die je gebruikt voor extensies is wat exotisch te
noemen. Normaliter maak je een eigen extensie, zet de uit te breiden
extensie als 'dependecy' (zodat jouw extensie na de oorspronkelijke
ingeladen wordt) en volgt eigenlijk dezelfde weg die je voor core classes
neemt:

De complete uitleg is te vinden in [1]

Je kijkt onder aan de uit te breiden class. In class.tslib_fe.php vindt je
daar de regels:
if (defined('TYPO3_MODE') &&
isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['tslib/class.tslib_f
e.php']))
{
	
include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['tslib/class.
tslib_fe.php']);
}

In de ext_localconf.php van je extensie zet je vervolgens:
$GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['tslib/class.tslib_fe.php'
]
= t3lib_extMgm::extPath($_EXTKEY) . 'xclass/class.ux_tslib_fe.php';

TYPO3_MODE kun je vervangen door 'FE' of 'BE' als je uitbreiding alleen in
de frontend of backend nodig is.

Dit vertelt de core dat er in de directory 'xclass' een bestand
'class.ux_tslib_fe.php' te vinden is. Hierin zet je:

class ux_tslib_fe extends tslib_fe {

}

Een paar belangrijke punten:

- tot en met TYPO3 4.7 werkt het alleen bij classes waarin onderaan de
XCLASS include staat
- vanaf TYPO3 6.0 werkt het bij automatisch bij classes, mits je je
uitbreiding via ext_autoload.php aangemeld hebt [2]; de regel in
ext_localconf.php is dan niet meer nodig
- het gaat nooit werken bij classes die 'final' of 'static' zijn (of bij
functies die 'static' zijn)

[1]
http://typo3.org/documentation/document-library/core-documentation/doc_core_
api/4.3.2/view/3/9/
[2] http://forge.typo3.org/issues/31893

--
Jigal van Hemert
TYPO3 Core Team member

TYPO3 .... inspiring people to share!
Get involved: typo3.org
_______________________________________________
TYPO3-UG-Dutch mailing list
TYPO3-UG-Dutch at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-ug-dutch



More information about the TYPO3-UG-Dutch mailing list