base: 'https://www.ruhrmasterschool.de/'
baseVariants:
  -
    base: 'https://ruhr-master-school.ddev.site'
    condition: 'getenv("INSTANCE") == "local"'
  -
    base: 'https://staging.ruhrmasterschool.de'
    condition: 'getenv("INSTANCE") == "staging"'
errorHandling:
  -
    errorCode: 404
    errorHandler: Page
    errorContentSource: 't3://page?uid=32'
languages:
  -
    title: Deutsch
    enabled: true
    languageId: 0
    base: /
    typo3Language: de
    locale: de_DE.utf8
    iso-639-1: de
    navigationTitle: DE
    hreflang: de-de
    direction: ltr
    flag: de
    websiteTitle: 'Ruhr Master School'
  -
    title: English
    enabled: true
    base: /en/
    typo3Language: default
    locale: en_US.utf8
    iso-639-1: en
    websiteTitle: 'Ruhr Master School'
    navigationTitle: EN
    hreflang: ''
    direction: ltr
    fallbackType: fallback
    fallbacks: '0'
    flag: en-us-gb
    languageId: 1
rootPageId: 1
routeEnhancers:
  Address:
    type: Extbase
    extension: TtAddress
    plugin: ListView
    routes:
      -
        routePath: '/{address_slug}'
        _controller: 'Address::show'
        _arguments:
          address_slug: address
      -
        routePath: '/{format}/{address_slug}'
        _controller: 'Address::show'
        _arguments:
          format: format
          address_slug: address
    aspects:
      address_slug:
        type: PersistedAliasMapper
        tableName: tt_address
        routeFieldName: slug
  News:
    type: Extbase
    extension: News
    plugin: Pi1
    limitToPages:
      - 21
      - 22
      - 42
      - 52
      - 57
      - 74
    routes:
      -
        routePath: '/{newsTitle}'
        _controller: 'News::detail'
        _arguments:
          newsTitle: news
        requirements:
          newsTitle: '^[a-zA-Z0-9].*$'
      -
        routePath: '/{localized_page}/{pagePagination}'
        _controller: 'News::list'
        _arguments:
          pagePagination: currentPage
        requirements:
          pagePagination: \d+
      -
        routePath: '/{localized_initial}/{azPagination}'
        _controller: 'News::list'
        _arguments:
          azPagination: currentAlpha
        requirements:
          azPagination: '^([A-Z]|0-9)$'
      -
        routePath: '/{year}/{month}'
        _controller: 'News::list'
        _arguments:
          year: overwriteDemand/year
          month: overwriteDemand/month
      -
        routePath: '/{localized_categories}/{categoryName}/{localized_initial}/{azPagination}/{localized_page}/{pagePagination}'
        _controller: 'News::list'
        _arguments:
          categoryName: overwriteDemand/categories
          azPagination: currentAlpha
          pagePagination: currentPage
        requirements:
          pagePagination: \d+
          azPagination: '^([A-Z]|0-9)$'
      -
        routePath: '/{localized_categories}/{categoryName}/{localized_initial}/{azPagination}'
        _controller: 'News::list'
        _arguments:
          categoryName: overwriteDemand/categories
          azPagination: currentAlpha
        requirements:
          azPagination: '^([A-Z]|0-9)$'
      -
        routePath: '/{localized_categories}/{categoryName}/{localized_page}/{pagePagination}'
        _controller: 'News::list'
        _arguments:
          categoryName: overwriteDemand/categories
          pagePagination: currentPage
        requirements:
          pagePagination: \d+
      -
        routePath: '/{localized_initial}/{azPagination}/{localized_page}/{pagePagination}'
        _controller: 'News::list'
        _arguments:
          pagePagination: currentPage
          azPagination: currentAlpha
        requirements:
          pagePagination: \d+
          azPagination: '^([A-Z]|0-9)$'
      -
        routePath: '/{localized_categories}/{categoryName}'
        _controller: 'News::list'
        _arguments:
          categoryName: overwriteDemand/categories
    defaultController: 'News::list'
    defaults:
      pagePagination: '0'
    aspects:
      newsTitle:
        type: PersistedAliasMapper
        tableName: tx_news_domain_model_news
        routeFieldName: path_segment
      pagePagination:
        type: StaticRangeMapper
        start: '1'
        end: '100'
      year:
        type: StaticRangeMapper
        start: '2011'
        end: '2030'
      month:
        type: StaticValueMapper
        map:
          januar: '01'
          februar: '02'
          märz: '03'
          april: '04'
          mai: '05'
          juni: '06'
          juli: '07'
          august: '08'
          september: '09'
          oktober: '10'
          november: '11'
          dezember: '12'
      categoryName:
        type: CategoriesValueMapper
      azPagination:
        type: StaticValueMapper
        map:
          0-9: '0-9'
          A-Z: 'A-Z'
          A: 'A'
          B: 'B'
          C: 'C'
          D: 'D'
          E: 'E'
          F: 'F'
          G: 'G'
          H: 'H'
          I: 'I'
          J: 'J'
          K: 'K'
          L: 'L'
          M: 'M'
          N: 'N'
          O: 'O'
          P: 'P'
          Q: 'Q'
          R: 'R'
          S: 'S'
          T: 'T'
          U: 'U'
          V: 'V'
          W: 'W'
          X: 'X'
          Y: 'Y'
          Z: 'Z'
      localized_categories:
        type: LocaleModifier
        default: kategorien
        localeMap:
          -
            locale: 'en_US.*'
            value: 'categories'
          -
            locale: 'de_DE.*'
            value: 'kategorien'
      localized_initial:
        type: LocaleModifier
        default: initiale
        localeMap:
          -
            locale: 'en_US.*'
            value: 'initial'
          -
            locale: 'de_DE.*'
            value: 'initiale'
      localized_page:
        type: LocaleModifier
        default: seite
        localeMap:
          -
            locale: 'en_US.*'
            value: 'page'
          -
            locale: 'de_DE.*'
            value: 'seite'
  PageTypeSuffix:
    type: PageType
    default: ''
    map:
      /: 0
      .ics: 1985
      .vcf: 1984
      sitemap.xml: 1533906435
  Sitemap:
    type: Simple
    routePath: 'sitemaps/{sitemap}'
    aspects:
      sitemap:
        type: StaticValueMapper
        map:
          pages: pages
          events: events
          news: news
          tools: tools
websiteTitle: 'Ruhr Master School'
