我将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和google中搜索了解决方案。我也阅读了新闻扩展名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和默认值:页面:0”?
答案 0 :(得分:0)
正如Nitori在评论中已经提到的那样,您需要统一news_title
/ news-title
的拼写。
但这似乎不是您唯一的问题。如果没有该方面,您的网址至少应如下所示:
http://p510984.mittwaldserver.info/aktuell/detail/5&cHash=c68f25c1ef4b5bd7320220373cfed332
这意味着,整个路线目前尚未应用到您的详细信息页面。
使用limitToPages
时,请检查17
是否是详细信息页面的UID。
对于分页小部件,类别插件等,您需要将相关的页面UID添加到limitToPages
,并且当然会扩展您的路线。 The news documentation显示了这些用例的示例。
答案 1 :(得分:0)
多数民众赞成在我的配置适合我,也许这会有所帮助...
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
答案 2 :(得分:0)
对我来说,这个效果很好:
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