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 Réponses :
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.
@sebkin: Merci pour votre indice. Oui 17 est l'identifiant de la page de détail. Même sans la partie d'aspect, il affiche une URL comme celle-ci: Ce comportement est très étrange?! Alors je me demande si cela fonctionne avec TYPO3 V9.5.5?
Cela vous aide-t-il si vous supprimez limitToPages
de votre configuration (et effacez ensuite tous les caches)? J'ai copié votre configuration dans mon environnement local. Cela fonctionne comme prévu après avoir appliqué les modifications décrites.
@sebkin: J'ai supprimé limitToPages
et cela ne change rien. L'avez-vous testé avec TYPO3 V9.5.5?
Oui, c'est TYPO3 9.5.5. Comme l'indentation est importante pour la configuration YAML, il est préférable de mettre à jour la configuration dans votre question.
Comment les liens sont-ils générés? Utilisation du viewhelper n: link? Ou quelque chose de personnalisé (f: link.acton ou similaire)? Dans ce dernier cas, j'ai remarqué que le fait de laisser de côté le controller
et action
des paramètres d'URL pouvait causer des problèmes.
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
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
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.