当我在Typo3中打开一个站点时,我希望该站点为该站点调用某个控制器,然后输出布局。最好使用相同的名称,例如“ TestController.php”作为控制器,而“ Test.html”作为布局。
我知道FrontEnd插件是可能的。 FrontEnd插件的问题是我需要将插件添加到我想要的站点。我真正想要的是编写一个扩展程序,该扩展程序一旦安装便可以在所有站点上使用。
实际上可以在typo3中执行此操作吗?也许有一些配置文件?
答案 0 :(得分:0)
您还可以通过TypoScript和USER
或USER_INT
内容对象添加TYPO3插件。这样一来,在任何页面上都可以轻松安装插件。
著名的news extension就是一个很好的例子:
lib.news = USER
lib.news {
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
extensionName = News
pluginName = Pi1
vendorName = GeorgRinger
switchableControllerActions {
News {
1 = list
}
}
settings < plugin.tx_news.settings
settings {
//categories = 49
limit = 30
detailPid = 31
overrideFlexformSettingsIfEmpty := addToList(detailPid)
startingpoint = 13
}
}
有关USER
或USER_INT
的更多信息,请查看official documentation。
答案 1 :(得分:0)
欢迎使用StackOverflow。
有了TYPO3 v9,中间件进入了核心,因此您现在可以在所需的页面呈现的每个位置运行代码。 一个很好的文档和示例,您可以在这里找到:https://usetypo3.com/psr15-middleware-in-typo3.html
只需添加您自己的中间件,即可在每次或满足某些条件时调用您的代码。没有插件,并且在每个页面上。
当心,这很花哨! :-)
答案 2 :(得分:-1)
暂时,我还可以推荐ThomasLöffler建议的中间件。但是据我所知,您必须通过页面ID来标识要执行某项操作的所有页面(这看起来并不好看)。 如果有很多页面,中间件的“主要功能”(即“ process()”)如果我没记错的话,会变得很长。 因此,Iam也在寻找一种基于名称的自动布局<-> Controller-Configuration。
我曾经在following site
上找到了一条有趣的信息our template files inside for example the Content subfolder are - according to Extbase conventions -
connected directly to a Controller's action. In standard Extbase, the Controller action must exist
first and will then cause the template file to be rendered - in Fluid Powered TYPO3 this is reversed
(since your Controller is optional)
该站点主要关注通量扩展,但我希望可以有某种全球惯例。
因此,与全局视图控制器配置有关的任何新想法或信息,而不必使用TYPO3-后端将两者都连接起来,将非常有用! (使用TYPO3 9和基于流体的视图层)