如何在不编辑config / sites / mysite / config.yaml

时间:2019-05-16 08:48:45

标签: 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+'

1 个答案:

答案 0 :(得分:3)

您实际上可以在站点配置中使用导入。这是example from the blog extension

imports:
  - { resource: "EXT:blog/Configuration/Routes/Default.yaml" }

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