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!Calling
tx_extbase_core_bootstrap
should no longer be used as it is deprecated in ver. 6.0 and will be removed in 7.0You can try different. Developers should now handle everything with namespaces ...
You can use this: