Как настроить route Enhancers в Typo3 9? - PullRequest
0 голосов
/ 24 января 2020

Я использую typo3 9,5 и пытаюсь сгенерировать маршрут из расширения. Все работает нормально, пока я не обнаружу, что всякий раз, когда URL-адрес слишком велик, аргумент маршрута приведет к ошибке

пример:

testRoute:
type: Extbase
extension: testExtension
plugin: testMain
routes:
  - { routePath: '/test/info/{name}/{period}', _controller: 
    'content::info', _arguments: {'name': 'name','period': 'period'} }
defaultController: 'content::info'
aspects:
  # here we get the needed information for a nice URL for _arguments
  name:
    type: PersistedAliasMapper
    tableName: 'xx'
    routeFieldName: slug
  period:
    type: PersistedAliasMapper
    tableName: 'xx'
    routeFieldName: slug

Маршрут работает нормально. Проблема: если у меня есть какая-либо страница с точкой в ​​качестве имени (testperiod) typo3, попробуйте сгенерировать testRoute, который я определил

   Error
   Parameter "tx_testextension_info__period" for route "tx_testextension_info_0" must 
     match 
    "[^/]++" ("" given) to generate a corresponding URL.

Даже если URL-адрес: / xxxxxxxxxxxxxxxperiod выдает ошибку

Как я могу ограничить маршрут для добавочного номера.

1 Ответ

1 голос
/ 24 января 2020

Вы можете попытаться ограничить влияние маршрута на указанной странице, используя аргумент limitToPages. Пример:

  NewsList:
    type: Plugin
    limitToPages: [3]
    routePath: '/{@widget_0/currentPage}'
    namespace: 'tx_news_pi1'
    aspects:
      '@widget_0/currentPage':
        type: StaticRangeMapper
        start: '1'
        end: '1000'

В этом примере мой маршрут будет работать только на странице 3.

...