【问题标题】:How do I bootstrap a plugin on TYPO3 CMS 6.0 with extbase?如何使用 extbase 在 TYPO3 CMS 6.0 上引导插件?
【发布时间】:2012-12-13 05:49:37
【问题描述】:

我正在尝试通过打字稿在 TYPO3 CMS 6.0 上使用 extbase 插件。我使用了以下代码,我发现它在整个网络上都重复了:

10 = USER
10 { 
    userFunc = tx_extbase_core_bootstrap->run
    pluginName = Sermons
    extensionName = VmfdsSermons
    switchableControllerActions {
        Sermon {
            1 = byLatestSeries
            2 = list
            3 = show
    }
}

但是,这只会给我以下错误:

#1289386765: Could not analyse class:Tx_VmfdsSermons_Controller_SermonController maybe not loaded or no autoloader?

在我看来,tx_extbase_core_bootstrap->run 似乎还没有使用命名空间,因此尝试加载一个名为 Tx_VmfdsSermons_Controller_SermonController 的类,而它本应调用 \TYPO3\VmfdsSermons\Controller\SermonController。有没有办法解决这个问题?

【问题讨论】:

    标签: typo3 typoscript extbase


    【解决方案1】:

    您正在搜索属性vendorName。所以在你的情况下应该是:

    10 = USER
    10 { 
        userFunc      = TYPO3\CMS\Extbase\Core\Bootstrap->run
    
        pluginName    = Sermons
        extensionName = VmfdsSermons
        vendorName    = TYPO3
        [...]
    

    我还使用了ext_localconf.php 中的供应商命名空间:

    \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
        '<Vendor>.' . $_EXTKEY, 
        [...]
    

    我通过调试器找到了答案。我从\TYPO3\CMS\Extbase\Mvc\Dispatcher::resolveController() 开始,然后跳到TYPO3\CMS\Extbase\Mvc\Request::getControllerObjectName()。有一个成员controllerVendorName,所以我在Extbase 中搜索\TYPO3\CMS\Extbase\Mvc\Request::setControllerVendorName() 的setter,正好是setControllerVendorName,并在\TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder::build() 中找到了一个匹配项,其中有一个名为vendorName 的成员,并且就在以上方法\TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder::loadDefaultValues(),就是答案!

    【讨论】:

      【解决方案2】:

      不应再使用调用tx_extbase_core_bootstrap,因为它在版本中是deprecated。 6.0 并将在 7.0 中删除

      你可以尝试不同的。开发人员现在应该使用命名空间来处理所有事情......

      你可以用这个:

      # bootstrap aufrufen -> run from extbase
      
      userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
      

      【讨论】:

      • 你是对的,当然,但这并不能解决我的问题。但是,设置 vendorName = TYPO3 确实如此。
      猜你喜欢
      • 1970-01-01
      • 2013-04-30
      • 1970-01-01
      • 2013-11-02
      • 1970-01-01
      • 1970-01-01
      • 2016-09-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多