4

我写了一个扩展,通过后端插件的实现做的一切都是正确的。

但是当我尝试通过打字稿实现我的扩展时,我每次都会遇到这个错误:

糟糕,发生错误!

无法确定默认控制器。请检查 ext_localconf.php 中的 Tx_Extbase_Utility_Extension::configurePlugin()。

而且我不知道为什么.. 我尝试了不同的实现(每个 tx_extbase_core_bootstrap->run 或 tx_extbase_dispatcher->dispatch 以及附加信息和没有),当前的打字稿看起来像这样:

plugin.tx_graphichmenu {
    settings {
        menuUid = 1
    }
}

lib.tx_graphichmenu = USER
lib.tx_graphichmenu {
    userFunc = tx_extbase_core_bootstrap->run
    extensionName = Graphichmenu
    pluginName = Graphicmenu
    controller = MenuController
    action = showAction
}

temp.mainTemplate.subparts.stickyfooter < lib.tx_graphichmenu

我对所有内容进行了双重和三重检查,我没有发现任何错误......在没有“动作”和“控制器”部分的情况下尝试过,没有任何改变

我在 ext_localconf.php 中的 configurePlugin 部分如下所示:

Tx_Extbase_Utility_Extension::configurePlugin(
    $_EXTKEY,
    'Graphicmenu',
    array(
        'Menu' => 'show',
    ),
    // non-cacheable actions
    array(
        'Menu' => '',
    )
);

“show”动作没有参数。在那里,我加载了 ts 设置,从那里获取要显示的对象的 Uid

PS:每次更改后我都清除了缓存并删除了typo3conf中的“temp_CACHED_ ...”文件

4

1 回答 1

7

你需要修改你的引导程序,有一个通用的语法:

lib.foo = USER
lib.foo {
    userFunc = tx_extbase_core_bootstrap->run
    extensionName = YourExtension
    pluginName = YourPlugin
    vendorName = YourVendor
    switchableControllerActions {
        Standard {
            1 = action2
            2 = action3
        }
    }
}

注意:CamelCaseextensionName值很重要!(感谢 Kai 的确认)所以如果 extkey 是:kai_some_extension它必须写成KaiSomeExtension

所以在你的情况下,它应该是这样的:

lib.foo = USER
lib.foo {
    userFunc = tx_extbase_core_bootstrap->run
    extensionName = GraphicHmenu
    pluginName = Graphicmenu
    switchableControllerActions {
        Menu {
            1 = show
        }
    }
}
于 2012-09-05T18:03:58.190 回答