Chr*_*her 8 typo3 typoscript extbase
我试图通过TYPO3 CMS 6.0上的typoscript使用extbase插件.我使用了以下代码,我在网上重复了一遍:
10 = USER
10 {
userFunc = tx_extbase_core_bootstrap->run
pluginName = Sermons
extensionName = VmfdsSermons
switchableControllerActions {
Sermon {
1 = byLatestSeries
2 = list
3 = show
}
}
Run Code Online (Sandbox Code Playgroud)
但是,这只会给我以下错误:
#1289386765: Could not analyse class:Tx_VmfdsSermons_Controller_SermonController maybe not loaded or no autoloader?
Run Code Online (Sandbox Code Playgroud)
在我看来好像tx_extbase_core_bootstrap->run还没有使用命名空间,因此试图加载一个Tx_VmfdsSermons_Controller_SermonController应该调用它时调用的类\TYPO3\VmfdsSermons\Controller\SermonController.有没有解决的办法?
wit*_*rin 13
你在寻找这家酒店vendorName.所以在你的情况下它应该是:
10 = USER
10 {
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
pluginName = Sermons
extensionName = VmfdsSermons
vendorName = TYPO3
[...]
Run Code Online (Sandbox Code Playgroud)
我还使用了供应商命名空间ext_localconf.php:
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
'<Vendor>.' . $_EXTKEY,
[...]
Run Code Online (Sandbox Code Playgroud)
我通过使用调试器找到了答案.我开始\TYPO3\CMS\Extbase\Mvc\Dispatcher::resolveController()跳进去了TYPO3\CMS\Extbase\Mvc\Request::getControllerObjectName().有一个成员controllerVendorName,所以我在Extbase中搜索了setter \TYPO3\CMS\Extbase\Mvc\Request::setControllerVendorName(),恰好是for setControllerVendorName,并且得到了一个匹配\TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder::build(),在哪里是一个名为的成员vendorName,只是在上面的方法中\TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder::loadDefaultValues(),就是答案!
小智 7
tx_extbase_core_bootstrap不应再使用调用,因为它在ver中已弃用.6.0并将在7.0中删除
你可以尝试不同的.开发人员现在应该使用命名空间处理所有内容
你可以用这个:
# bootstrap aufrufen -> run from extbase
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5923 次 |
| 最近记录: |