I’m trying to use an extbase plugin through typoscript on TYPO3 CMS 6.0. I used the following code, that I found repeated all over the web:
10 = USER
10 {
userFunc = tx_extbase_core_bootstrap->run
pluginName = Sermons
extensionName = VmfdsSermons
switchableControllerActions {
Sermon {
1 = byLatestSeries
2 = list
3 = show
}
}
However, this just gives me the following error:
#1289386765: Could not analyse class:Tx_VmfdsSermons_Controller_SermonController maybe not loaded or no autoloader?
It seems to me as if tx_extbase_core_bootstrap->run is not using namespaces yet, thus trying to load a class called Tx_VmfdsSermons_Controller_SermonController when it should have called \TYPO3\VmfdsSermons\Controller\SermonController. Is there a way around this?
You’re searching for the property
vendorName. So in your case it should be:I also used the vendor namespace within
ext_localconf.php:I found the answer by using the debugger. I started at
\TYPO3\CMS\Extbase\Mvc\Dispatcher::resolveController()and jumped intoTYPO3\CMS\Extbase\Mvc\Request::getControllerObjectName(). There is a membercontrollerVendorName, so I searched in Extbase for the setter of\TYPO3\CMS\Extbase\Mvc\Request::setControllerVendorName(), precisely just forsetControllerVendorName, and got a match in\TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder::build(), where is a member calledvendorName, and just in the method above\TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder::loadDefaultValues(), is the answer!