Buena práctica sobre cómo configurar routeEnhancers para la lista y la vista detallada de ext: news?

Condición previ

The ext: el plugin de vista de lista de noticias está en la página www.domain.com/news [ID 9] y la vista detallada en www.domain.com/article [ID 39].

Siguiendo el ejemplo oficial (docs.typo3.org)

Probé el Ejemplo de "Extbase Plugin Enhancer" de la descripción de la función, pero eso causó algunos problemas:

El enlace del navegador de la página 2 tiene un cHash: news / list / 2? CHash = 123456789 El enlace del navegador de la página 2 a la página 1 tiene muchos parámetros get: news? Tx_news_pi1% 5Baction% 5D = list & tx_news_pi1% 5Bcontroller% 5D = News & cHash = 123456789. Sin routeEnhancer, solo serían "noticias" sin ningún parámetro get. El enlace a la vista detallada tiene un cHash: artículo / blog / 9? CHash = 52e8a4b7c6318cfe0273e7eab374e9aeLas URL tienen segmentos no deseados ("lista" + "blog")La URL de Acticle no contiene el título de la noticia

Una de las causas de algunos de estos problemas podría ser que el paginador no especifica el controlador en sus enlaces: news? Tx_news_pi1 [@ widget_0] [currentPage] = 2 & cHash = 123456789

Mi enfoque, que ya soluciona los problemas mencionados

Dividí esto en dos routeEnhancers separados (Extbase + Plugin), eliminé los segmentos, "defaultController", "default", "requisitos" y agregué "aspectos":

routeEnhancers:
  NewsDetail:
    type: Extbase
    limitToPages: [39]
    extension: News
    plugin: Pi1
    routes:
      - { routePath: '/{news_title}', _controller: 'News::detail', _arguments: {'news_title': 'news'} }
    aspects:
      news_title:
        type: PersistedAliasMapper
        tableName: 'tx_news_domain_model_news'
        routeFieldName: 'path_segment'
  NewsList:
    type: Plugin
    limitToPages: [9]
    routePath: '/{@widget_0/currentPage}'
    namespace: 'tx_news_pi1'
    aspects:
      '@widget_0/currentPage':
        type: StaticRangeMapper
        start: '1'
        end: '1000'

Mis inquietudes con respecto a este enfoque:

No estoy seguro de si tendría una ventaja (rendimiento o seguridad) agregar algunos "valores predeterminados" y "requisitos" y si realmente es una buena práctica dividir esto en dos Enhancers de ruta separados. Limita la cantidad de páginas de vista de lista a un máximo de 1000 (admito que esto es mucho). Un valor más alto dará como resultado un error:Range es más grande que 1000 artículos.Si hay una barra inclinada / en el título de la noticia (por ejemplo, "Informe mensual 2018/07"), path_segment generado automáticamente también contendrá una barra inclinada ("mensualmente-informe-2018/07") y esto lleva al siguiente error en la lista vista:Parameter "tx_news_pi1__news" para la ruta "tx_news_pi1_0" debe coincidir con "[^ /] ++" ("informe-mensual-2018/07" dado) para generar una URL correspondiente.

Respuestas a la pregunta(3)

Su respuesta a la pregunta