1
votes

Comment définir correctement le routage d'URL pour tx-news dans TYPO3 9.5.5?

J'utilise TYPO3 V9.5.5 avec PHP V7.2.10. Le plugin tx-news est également installé. La configuration du site est définie et fonctionne. Mais si j'ajoute routeEnhancers pour le détail des actualités, il ne l'affiche pas dans l'url. Il ressemble toujours à: https: // docs.typo3.org/typo3cms/extensions/news/stable/AdministratorManual/BestPractice/Routing/

Même le vidage du cache TYPO3 et PHP n'aide pas.

À au moment où j'ai le code suivant:

routeEnhancers:
  NewsPlugin:
    type: Extbase
    limitToPages:
      - 17
    extension: News
    plugin: Pi1
    routes:
      - { routePath: '/{news_title}', _controller: 'News::detail', _arguments: {'news_title': 'news'} }
    defaultController: 'News::list'
    defaults:
      page: '0'
    aspects:
      news-title:
        type: PersistedAliasMapper
        tableName: tx_news_domain_model_news
        routeFieldName: path_segment

A-t-il besoin de "defaultController and defaults: page: 0"?


3 commentaires

sous certains aspects, il semble que vous ayez mal orthographié "news-title". Ce devrait être "news_title" (comme dans routes -> arguments).


@Nitori: Merci de m'avoir montré la faute de frappe. Mais malheureusement, cela ne change rien.


Je pourrais le résoudre! Dans mon Sitepackage que j'ai pris de TYPO3 V8.7, j'ai oublié que j'avais le code suivant: plugin.tx_news.seetings.link.skipControllerAndAction = 1 . Après l'avoir décommenté, cela fonctionne comme un charme.


3 Réponses :


0
votes

Comme Nitori l'a déjà mentionné dans le commentaire, vous devez unifier l'orthographe de news_title / news-title .

Mais cela ne semble pas être votre seul problème. Sans cet aspect, votre URL devrait au moins ressembler à:

http://p510984.mittwaldserver.info/aktuell/detail/5&cHash=c68f25c1ef4b5bd7320220373cfed332

Cela signifie que l'itinéraire entier n'est actuellement pas appliqué à votre page de détails.

Comme vous utilisez limitToPages , veuillez vérifier si 17 est l'UID de votre page de détail.


Pour le widget de pagination, les plugins de catégorie, etc. vous devra ajouter les UID de page associés à limitToPages , et bien sûr étendre vos itinéraires. La documentation des actualités montre des exemples pour ces utilisations cas.



0
votes

C'est ma configuration qui fonctionne bien pour moi, peut-être que cela aide ...

News:
type: Extbase
extension: News
plugin: Pi1
routes:
  - routePath: '/'
    _controller: 'News::list'
  - routePath: '/page-{page}'
    _controller: 'News::list'
    _arguments:
      page: '@widget_0/currentPage'
  - routePath: '/{news-title}'
    _controller: 'News::detail'
    _arguments:
      news-title: news
  - routePath: '/{category-name}'
    _controller: 'News::list'
    _arguments:
      category-name: overwriteDemand/categories
  - routePath: '/{category-name}/page-{page}'
    _controller: 'News::list'
    _arguments:
      category-name: overwriteDemand/categories
      page: '@widget_0/currentPage'
defaultController: 'News::list'
defaults:
  page: '0'
aspects:
  news-title:
    type: PersistedAliasMapper
    tableName: tx_news_domain_model_news
    routeFieldName: path_segment
  page:
    type: StaticRangeMapper
    start: '1'
    end: '100'
  category-name:
    type: PersistedAliasMapper
    tableName: sys_category
    routeFieldName: slug


0 commentaires

0
votes

Pour moi, celui-ci a bien fonctionné:

routeEnhancers:
  # news rewrites
  News:
    type: Extbase
    #limitToPages:
    #  - 67
    extension: News
    plugin: Pi1
    routes:
      - { routePath: '/{news-title}', _controller: 'News::detail', _arguments: { news-title: news } }
      #- { routePath: '/cat/{news-cat}', _controller: 'News::list', _arguments: { news-cat: overwriteDemand/categories } }
    defaultController: 'News::list'
    defaults:
      page: '0'
    aspects:
      news-title:
        type: PersistedAliasMapper
        tableName: tx_news_domain_model_news
        routeFieldName: path_segment
      news-cat:
        type: PersistedAliasMapper
        tableName: sys_category
        routeFieldName: slug


0 commentaires