TYPO3 4.7.2通过typoscript包含extbase插件

Kai*_*Kai 4 plugins typo3 typoscript extbase

我写了一个扩展,并通过后端实现插件完成所有事情.

但是当我尝试通过typoscript实现我的扩展时,我每次都会收到此错误:

糟糕,发生错误!

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

我不知道为什么..我尝试了不同的实现(根据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
Run Code Online (Sandbox Code Playgroud)

我双精度和三重检查一切,我发现没有一个单一的错......试过了没有"行动"和"调节器"的一部分,并没有什么改变

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

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

"show"动作没有参数.在那里我加载ts设置从我拿到对象的Uid显示

PS:每次更改后我都清除了缓存并删除了typo3conf中的"temp_CACHED _..."文件

bie*_*ior 7

你需要修改你的bootstrap,有一般的语法:

lib.foo = USER
lib.foo {
    userFunc = tx_extbase_core_bootstrap->run
    extensionName = YourExtension
    pluginName = YourPlugin
    vendorName = YourVendor
    switchableControllerActions {
        Standard {
            1 = action2
            2 = action3
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

注意:CamelCase的extensionName价值很重要!(感谢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
        }
    }
}
Run Code Online (Sandbox Code Playgroud)