TYPO3 9 Маршрутизаторы и аспекты: общая страница сведений для плагинов с несколькими списками - PullRequest
0 голосов
/ 04 февраля 2020

У меня есть набор плагинов для списков в моем расширении extbase для отображения разных списков с разными внешними и внутренними фильтрами. Один список показывает все продукты с секторным фильтром во внешнем интерфейсе, другой список показывает списки по секторам на отдельных страницах секторов. Таким образом, каждый плагин списка размещается на другой странице с разными слагами.

Как я могу настроить мои routeEnhancers для маршрутизации вызовов действия show на одну страницу сведений для всех плагинов моего списка? Возможно ли это с новой конфигурацией сайта в TYPO3 9.5? У меня нет дополнительного шоу-плагина.

Такая конфигурация дает мне отдельные страницы подробностей под слагом текущей страницы списка

routeEnhancers:
  Products:
    type: Extbase
    namespace: tx_products_productslist
    routes:
      - {routePath: 'list', _controller: 'Series::list'}
      - {routePath: 'detail/{product_name}', _controller: 'Product::show',_arguments:{'product_name':'product'}}
    aspects:
      product_name:
        type: PersistedAliasMapper
        tableName: tx_products_domain_model_product
        routeFieldName: product_name
    defaultController: 'Series::list'
  ProductsBySector:
    type: Extbase
    namespace: tx_products_productsbysector
    routes:
      - {routePath: 'list', _controller: 'Product::list'}
      - {routePath: 'detail/{product_name}', _controller: 'Product::show',_arguments:{'product_name':'product'}}
    aspects:
      product_name:
        type: PersistedAliasMapper
        tableName: tx_products_domain_model_product
        routeFieldName: product_name
    defaultController: 'Product::list'

Я хочу, чтобы все детали продукта будет отображаться в домене.ltd/products/detail/ndomproduct_name}. В настоящее время у меня есть различные страницы сведений такого рода:

domain.ltd / fe-filter-list / detail / {product_name}

domain.ltd / sector / sector1 / detail / {product_name}

domain.ltd / sector / sector2 / detail / {product_name}

и т. Д.

...