[TYPO3-mvc] Possible bug in registering extBase BE modules - either in extbase or typo3

Marc Bastian Heinrichs typo3 at mbh-web.de
Mon Feb 22 12:33:00 CET 2010


Martin Kutschker schrieb:
> Franz Koch schrieb:
> 
>> $TBE_MODULES['_dispatcher'][] = 'Tx_Extbase_Dispatcher';
>>
>> after changing this line to:
>>
>> $TBE_MODULES['_dispatcher'] = 'Tx_Extbase_Dispatcher';
> 
> I had recently a look at mod.php ant think thas the former should be correct. IIRC mod.php allows
> several external dispatchers to be installed and iterates until it founds one that thinks it is
> responsible for the module.

I also ran into this problem because my sys log is full of
---------------
Core: Error handler (BE): PHP Warning: Invalid argument supplied for 
foreach() in 
/var/www/web1/typo3_src-4.3.1/t3lib/class.t3lib_loadmodules.php line 542
.		.		.		!		.		Core: Error handler (BE): PHP Warning: array_map(): 
Argument #2 should be an array in 
/var/www/web1/typo3_src-4.3.1/t3lib/class.t3lib_div.php line 1699
.		.		.		!		.		Core: Error handler (BE): PHP Warning: explode() expects 
parameter 2 to be string, array given in 
/var/www/web1/typo3_src-4.3.1/t3lib/class.t3lib_div.php line 1697
---------------
after installing extbase.

As Franz wrote $TBE_MODULES is also used in t3lib_loadModules. There it 
is required that the default value of $TBE_MODULES['XYZ'] is an 
comma-separted list of module keys and no array as it would be defined with
$TBE_MODULES['_dispatcher'][] = 'Tx_Extbase_Dispatcher';
A special case is $TBE_MODULES['_PATHS'];

I think $TBE_MODULES['_dispatcher'] should not be parsed in 
t3lib_loadModules::parseModulesArray, so it has to be unset in 
t3lib_loadModules::load as it's done with $TBE_MODULES['_PATHS'], 
because it registers only external dispatchers and no BE modules 
itselfs, right?

corresponding mantis issue# 13604


kind regards,
Marc Bastian Heinrichs


More information about the TYPO3-project-typo3v4mvc mailing list