我使用TYPO3 V9.5.5和PHP V7.2.10。还安装了tx-news插件。站点配置已设置并可正常运行。但是,如果我为新闻细节添加routeEnhancers,它不会在url中显示它。它总是看起来像:http://p510984.mittwaldserver.info/aktuell/detail?tx_news_pi1%5Bnews%5D=5&cHash=c68f25c1ef4b5bd7320220373cfed332
我在stackoverflow和谷歌搜索解决方案。我也阅读了新闻扩展https://docs.typo3.org/typo3cms/extensions/news/stable/AdministratorManual/BestPractice/Routing/的手册
即使TYPO3和PHP缓存刷新也无济于事。
目前我有以下代码:
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
它需要“defaultController和defaults:page:0”吗?
正如Nitori在评论中已经提到的,你需要统一news_title
/ news-title
的拼写。
但这似乎不是你唯一的问题。如果没有这方面,您的网址至少应如下所示:
http://p510984.mittwaldserver.info/aktuell/detail/5&cHash=c68f25c1ef4b5bd7320220373cfed332
这意味着,整个路线当前未应用于您的详细信息页面。
当您使用limitToPages
时,请检查17
是否是您的详细信息页面的UID。
对于分页小部件,类别插件等,您需要将相关页面UID添加到limitToPages
,当然还要扩展您的路线。 The news documentation显示了这些用例的示例。