1

我想知道如何让子页面(超过 10k)继承父页面插件。

制作插件的旧方法是创建一个pi1/class.tx_extkey_pi1.php扩展的文件,\TYPO3\CMS\Frontend\Plugin\AbstractPlugin 并且很容易在父页面中设置并自动设置子页面。

现在,使用 Extbase MVC 插件,我有控制器而不是扩展ActionController,但我不能让它递归。

有人知道怎么做吗?

非常感谢您的帮助

4

1 回答 1

3

抽象插件

继承自AbstractPlugin(所谓的 Pi-Based-Plugins)的类在 TypoScript 中调用,如下所示:

page = PAGE
page.10 = USER
page.10 {
  userFunc = tx_myext_pi1->main
}

外部基地

使用 Extbase MVC 调度程序,插件调用如下 - 这将调用第一个注册控制器的第一个注册操作ext_localconf.php

page = PAGE
page.10 = USER
page.10 {
    userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
    vendorName = MyVendor
    extensionName = MyExtension
    pluginName = MyPlugin
}

但是,有一种变通方法可以使用 TypoScript 选择特定操作switchableControllerActions- 以下 TypoScript 调用MyVendor\MyExtension\MyController::myAction()

page = PAGE
page.10 = USER
page.10 {
    userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
    vendorName = MyVendor
    extensionName = MyExtension
    pluginName = MyPlugin
    switchableControllerActions {
        My {       // automatically expanded to class name "MyController"
            0 = my // automatically expanded to method name "myAction"
        }
    }
}
于 2017-04-14T12:35:28.003 回答