我写了一个扩展,并且通过后端实现插件可以正确地完成所有操作。
但是当我尝试通过typoscript实现我的扩展时,我每次都会收到此错误:
糟糕,发生错误!
无法确定默认控制器。请检查 你的Tx_Extbase_Utility_Extension :: configurePlugin() ext_localconf.php。
我不知道为什么..我尝试了不同的实现(根据tx_extbase_core_bootstrap-> run或tx_extbase_dispatcher-> dispatch以及附加信息而没有),当前的typoscript看起来像这样:
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 _...”文件
答案 0 :(得分:7)
您需要修改引导程序,这是一般语法:
lib.foo = USER
lib.foo {
userFunc = tx_extbase_core_bootstrap->run
extensionName = YourExtension
pluginName = YourPlugin
vendorName = YourVendor
switchableControllerActions {
Standard {
1 = action2
2 = action3
}
}
}
注意:extensionName
值中的 CamelCase 非常重要! (感谢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
}
}
}