求TYPO3 v11中gb_events 11.0.1的可用路由配置(支持友好URL)
配置TYPO3 v11 + gb_events 11.0.1的友好URL路由(基于path_segment)
1. 确认TYPO3路由系统基础配置
确保你的站点配置文件(config.yaml)已启用路由增强功能,基础配置示例如下:
routeEnhancers: PageTypeSuffix: type: PageType default: '' index: '' map: 'feed': 9818
2. 添加gb_events专属路由增强规则
在routeEnhancers节点下新增针对gb_events插件的路由配置,实现从列表页到详情页的友好URL跳转:
routeEnhancers: # 保留上述PageTypeSuffix等已有配置 GbEventsList: type: Extbase limitToPages: [123] # 替换为你放置事件列表插件的页面UID extension: GbEvents plugin: List routes: - routePath: '/{event_path_segment}' _controller: 'Event::show' _arguments: event_path_segment: event defaultController: 'Event::list' aspects: event_path_segment: type: PersistedAliasMapper tableName: tx_gbevents_domain_model_event routeFieldName: path_segment
limitToPages:指定仅对该页面下的gb_events列表插件生效routePath:定义详情页的URL路径格式,{event_path_segment}对应事件记录的path_segment字段PersistedAliasMapper:将path_segment字段映射到对应的事件记录ID
3. 确保path_segment字段正常工作
检查gb_events事件模型的TCA配置,确认path_segment为slug类型(gb_events 11.0.1默认已支持,若需自定义可修改):
// typo3conf/ext/gb_events/Configuration/TCA/tx_gbevents_domain_model_event.php 'path_segment' => [ 'label' => 'LLL:EXT:gb_events/Resources/Private/Language/locallang_db.xlf:tx_gbevents_domain_model_event.path_segment', 'config' => [ 'type' => 'slug', 'generatorOptions' => [ 'fields' => ['title'], 'fieldSeparator' => '-', 'prefixParentPageSlug' => false, 'replacements' => [ '/' => '-', ], ], 'fallbackCharacter' => '-', 'eval' => 'uniqueInSite', ], ],
后台编辑事件时,系统会自动根据标题生成唯一的path_segment,也可手动修改。
4. 刷新缓存使配置生效
进入TYPO3后台「系统」>「清除缓存」,选择「全部缓存」或「路由配置缓存」,确保新的路由规则生效。
5. 验证友好URL
访问事件列表页面,点击事件详情链接,URL应显示为https://你的域名/列表页面路径/事件path_segment,而非带参数的格式。
内容的提问来源于stack exchange,提问作者mtness
相关产品推荐
相关产品推荐

