TYPO3 9.5: RealURL - Миграция простых GetVars

У меня есть следующая часть моей конфигурации realURL в моей установке TYPO 8.7:

'locationConfiguration' => array(
    array(
        'GETvar' => 'continent',
        'valueMap' => array(
            'europe' => 1,
            'europa'=>1,
            'americas' => 2,
            'africa' => 4,
            'afrika' => 4,
            'amerika' => 2,
            'asia' => 3,
            'asien' => 3,
            ),
        'valueDefault' => '',
        'noMatch' => 'bypass',
        ),

'134' => 'locationConfiguration',

Это простые GetVars, которые я хочу перевести. Аргумент «континент» является необязательным, поэтому конечный URL-адрес также должен работать без этого аргумента. Как новичок в TYPO3 9.5, мне интересно, работает ли это с типом усилителя «Simple Enhancer», и могу ли я объединить его с «аспектами».

Примечание. Это не плагин extbase с Controller-> Action и т. Д., А плагин старого стиля.

Может ли кто-нибудь опубликовать образец, который соответствует указанной выше конфигурации?

Большое спасибо !


person Stefan Müller    schedule 24.02.2020    source источник
comment
Это возможно с помощью карты аспектов и локалей. Пожалуйста, попробуйте придумать код, чтобы показать некоторые усилия. Вы видели docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/9.5/ и docs.typo3.org/m/typo3/reference-coreapi/9.5/en-us/ApiOverview/ ?   -  person Jonas Eberle    schedule 24.02.2020


Ответы (1)


Я наконец узнал, как это работает. В тот же сегмент пути включена еще одна переменная, но это не имеет значения для решения. Я использовал RouteEnhancer типа extbase, хотя мой плагин не является плагином extbase и не упомянул часть с контроллером / действием (и он работает без них):

  Locations:
type: Extbase
limitToPages:
  - 134
routes:
  - routePath: '/{src}'
  - routePath: '/{continent}'
  - routePath: '/{continent}/{src}'
defaults:
  src: ''
  continent: ''
aspects:
  src:
    type: StaticValueMapper
    map:
      bsc: bsc
      bpg: bpg
      big: big
      bpr: bpr
  continent:
    type: StaticValueMapper
    map:
       europe: 1
       americas: 2
       asia: 3
       africa: 4
    localeMap:
      - locale: 'de_.*'
        map:
          europa: 1
          amerika: 2
          asien: 3
          afrika: 4
person Stefan Müller    schedule 24.02.2020
comment
Поздравляю! Вы можете использовать SimpleEnhancer. - person Jonas Eberle; 25.02.2020