如何在不编辑config / sites / mysite / config.yaml的情况下扩展TYPO3站点配置

Jon*_*nas 6 typo3 typo3-9.x

我正在尝试使用TYPO3和自TYPO3 v9起可用的新RouteEnhancers来建立REST之类的API。就我而言,我需要通过扩展程序来设置/扩展站点配置,而不是编辑config.yaml,因为在安装扩展程序或创建新的站点配置后,您不想复制某些代码。是否有针对这种情况的最佳实践解决方案?

routeEnhancers:
  MyExtensionlugin:
    type: Extbase
    extension: MyExtension
    plugin: Listing
    routes:
      - { routePath: '/api/objects', _controller: 'Api::list', _arguments: {'pageType': '1557996244'} }
      - { routePath: '/api/objects/{objectUid}', _controller: 'Api::show', _arguments: {'pageType': '1557996244'} }
    defaultController: 'Api::list'
    defaults:
      objectUid: '0'
    requirements:
      objectUid: '\d+'
Run Code Online (Sandbox Code Playgroud)

Mat*_*ala 5

您实际上可以在站点配置中使用导入。以下是博客扩展中的示例

imports:
  - { resource: "EXT:blog/Configuration/Routes/Default.yaml" }
Run Code Online (Sandbox Code Playgroud)

因此,您可以将routeEnhancers配置像这样放在单独的文件中,并imports在站点配置的顶部使用以加载和合并它。