在TYPO3 9.5.5中为表单提交操作配置静态路由

时间:2019-04-13 10:09:14

标签: typo3 extbase typo3-9.x

我有一个Extbase扩展名,它可以在前端显示表单,我的URL如下:

https://domain.ch/de/news/add/?tx_newsform%5Baction%5D=new&tx_newsform%5Bcontroller%5D=News&cHash=041eab0915b1445827046afef933eb26

我需要一条用于提交动作的静态路由。我已经在YAML配置下面添加了。

d

这在表单操作中显示了完美的静态路由,但是当我提交表单时,它不会在浏览器中显示相同的URL。

enter image description here

有人可以引导我吗?非常感谢!

1 个答案:

答案 0 :(得分:1)

我已解决问题,我犯了一个小错误,导致了问题。我的操作重定向到控制器的 New 操作,并且在YAML配置中传递了错误的操作。

routeEnhancers:
  NewsFormPlugin:
    type: Extbase
    extension: NetcNewsform
    plugin: netcnewsform
    routes:
      - { routePath: '/new-article/success', _controller: 'News::create'} # Here is the issue

    defaultController: 'News::new'
    requirements:
       page: '\d+'

我使用以下配置代替了上面的配置。

  NewsFormPlugin:
    type: Extbase
    extension: NetcNewsform
    plugin: netcnewsform
    routes:
        - { routePath: '/new-article/success', _controller: 'News::create'}
        - { routePath: '/new-article/success', _controller: 'News::new'}

    defaultController: 'News::new'
    requirements:
      page: '\d+'

还有一件事情,我添加了同时进行 create new 操作的路线。

效果很好!