如何使子页面继承父包
How to make child pages inherit a parent bundle
我想知道如何让子页面(超过10k)继承父页面插件。
制作插件的旧方法是创建一个扩展 \TYPO3\CMS\Frontend\Plugin\AbstractPlugin
的 pi1/class.tx_extkey_pi1.php
文件
并且很容易在父页面中设置并自动设置子页面。
现在,有了 Extbase MVC 插件,我有控制器而不是扩展 ActionController
但我不能使它递归。
有人知道怎么做吗?
非常感谢您的帮助
抽象插件
类 继承自 AbstractPlugin
(所谓的基于 Pi 的插件),在 TypoScript 中这样调用:
page = PAGE
page.10 = USER
page.10 {
userFunc = tx_myext_pi1->main
}
Extbase
使用 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
}
但是,使用 switchableControllerActions
可以解决 select TypoScript 中的特定操作 - 下面的 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"
}
}
}
我想知道如何让子页面(超过10k)继承父页面插件。
制作插件的旧方法是创建一个扩展 \TYPO3\CMS\Frontend\Plugin\AbstractPlugin
的 pi1/class.tx_extkey_pi1.php
文件
并且很容易在父页面中设置并自动设置子页面。
现在,有了 Extbase MVC 插件,我有控制器而不是扩展 ActionController
但我不能使它递归。
有人知道怎么做吗?
非常感谢您的帮助
抽象插件
类 继承自 AbstractPlugin
(所谓的基于 Pi 的插件),在 TypoScript 中这样调用:
page = PAGE
page.10 = USER
page.10 {
userFunc = tx_myext_pi1->main
}
Extbase
使用 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
}
但是,使用 switchableControllerActions
可以解决 select TypoScript 中的特定操作 - 下面的 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"
}
}
}