Routes 如何处理路由增强器中的新闻类别(TYPO3 v9)
我为新闻插件配置了一些路由增强器:Routes 如何处理路由增强器中的新闻类别(TYPO3 v9),routes,typo3,tx-news,typo3-9.x,Routes,Typo3,Tx News,Typo3 9.x,我为新闻插件配置了一些路由增强器: routeEnhancers: NewsPlugin: type: Extbase limitToPages: [3] extension: News plugin: Pi1 routes: - { routePath: '/{news_title}', _controller: 'News::detail', _arguments: {'news_title': 'news'} } - {
routeEnhancers:
NewsPlugin:
type: Extbase
limitToPages: [3]
extension: News
plugin: Pi1
routes:
- { routePath: '/{news_title}', _controller: 'News::detail', _arguments: {'news_title': 'news'} }
- { routePath: '/tag/{tag_name}', _controller: 'News::list', _arguments: {'tag_name': 'overwriteDemand/tags'}}
- { routePath: '/category/{category_name}', _controller: 'News::list', _arguments: {'category_name': 'overwriteDemand/categories'}}
defaultController: 'News::list'
aspects:
news_title:
type: PersistedAliasMapper
tableName: 'tx_news_domain_model_news'
routeFieldName: 'path_segment'
对于category视图,我现在得到的URL类似于www.mydomain.com/category/2/?cHash=1234567889
三个问题:
(1) 当前位置如何摆脱裂缝?这不利于搜索引擎优化
(2) :如何使用类别标题而不是类别uid?我试图添加一个方面:
category_name:
type: PersistedAliasMapper
tableName: 'sys_category'
routeFieldName: 'path_segment'
但是没有成功,我得到了一个不明确的错误信息
(3) 如何获得翻译后的URL,如www.mydomain.com/de/kategorie/…
欢迎任何提示。前几天,我发现了以下配置,其中包含了ext:news路由增强程序的所有方面:
routeEnhancers:
PageTypeSuffix:
type: PageType
default: '/'
index: '/'
map:
'/': 0
NewsPlugin:
type: Extbase
extension: News
plugin: Pi1
limitToPages: [33,59]
routes:
# Detail view:
- routePath: '/{news_title}'
_controller: 'News::detail'
_arguments: {'news_title': 'news'}
# Categories:
- routePath: '/{category}'
_controller: 'News::list'
_arguments: {'category': 'overwriteDemand/categories'}
# Tags:
- routePath: '/{tag_name}'
_controller: 'News::list'
_arguments: {'tag_name': 'overwriteDemand/tags'}
# Pagination:
- routePath: '/{page}'
_controller: 'News::list'
_arguments: {'page': '@widget_0/currentPage'}
# Archive:
- routePath: '/{localized_archive}/{year}/{month}'
_controller: 'News::archive'
# Date:
- routePath: '/{year}-{month}'
_controller: 'News::list'
_arguments:
year: overwriteDemand/year
month: overwriteDemand/month
defaultController: 'News::list'
defaults:
page: '0'
year: ''
month: ''
requirements:
page: '\d+'
news_title: '^[a-zA-Z0-9].*$'
aspects:
page:
type: StaticRangeMapper
start: '1'
end: '100'
news_title:
type: PersistedPatternMapper
tableName: tx_news_domain_model_news
routeFieldPattern: '^(?P<path_segment>.+)$'
routeFieldResult: '{path_segment}'
category:
type: PersistedAliasMapper
tableName: 'sys_category'
routeFieldName: 'title'
tag_name:
type: PersistedAliasMapper
tableName: 'tx_news_domain_model_tag'
routeFieldName: 'title'
localized_archive:
type: LocaleModifier
default: 'archive'
routeFieldName: 'title'
localeMap:
- languageId: 'de_.*'
value: 'archiv'
- languageId: 'fr_.*'
value: 'archives'
year:
type: StaticRangeMapper
start: '1970'
end: '2099'
month:
type: StaticValueMapper
map:
january: '01'
february: '02'
march: '03'
april: '04'
may: '05'
june: '06'
july: '07'
august: '08'
september: '09'
october: 10
november: 11
december: 12
localeMap:
- locale: 'de_.*'
map:
januar: '01'
februar: '02'
maerz: '03'
april: '04'
mai: '05'
juni: '06'
juli: '07'
august: '08'
september: '09'
oktober: 10
november: 11
dezember: 12
- locale: 'fr_.*'
map:
janvier: '01'
février: '02'
mars: '03'
avril: '04'
mai: '05'
juin: '06'
juillet: '07'
aout: '08'
septembre: '09'
octobre: 10
novembre: 11
décembre: 12
routeEnhancers:
PageTypeSuffix:
类型:页面类型
默认值:'/'
索引:'/'
地图:
'/': 0
新闻插件:
类型:Extbase
分机:新闻
插件:Pi1
limitToPages:[33,59]
路线:
#详细视图:
-路径路径:“/{news_title}”
_控制器:“新闻::详细信息”
_参数:{'news_title':'news'}
#类别:
-路由路径:'/{category}'
_控制器:“新闻::列表”
_参数:{'category':'overwriteDemand/categories'}
#标签:
-路由路径:'/{tag_name}'
_控制器:“新闻::列表”
_参数:{'tag_name':'overwriteDemand/tags'}
#分页:
-路由路径:'/{page}'
_控制器:“新闻::列表”
_参数:{'page':'@widget_0/currentPage'}
#档案:
-routePath:“/{本地化的_存档}/{年}/{月}”
_控制器:“新闻::存档”
#日期:
-路径路径:'/{year}-{month}'
_控制器:“新闻::列表”
_论据:
年份:被覆盖/年份
月份:覆盖强制/月份
defaultController:“新闻::列表”
默认值:
页面:“0”
年份:''
月份:“”
要求:
页面:'\d+'
新闻标题:“^[a-zA-Z0-9].$”
方面:
第页:
类型:StaticRangeMapper
开始:“1”
完:"一百"
新闻标题:
类型:PersistedPatternMapper
表名:tx\U新闻\U领域\U模型\U新闻
routeFieldPattern:“^(?P.+)$”
routeFieldResult:“{path_segment}”
类别:
类型:PersistedAliasMapper
表名:“系统类别”
routeFieldName:“标题”
标签名称:
类型:PersistedAliasMapper
tableName:'tx\U新闻\U域\U模型\U标签'
routeFieldName:“标题”
本地化文档:
类型:LocaleModifier
默认值:“存档”
routeFieldName:“标题”
本地映射:
-languageId:'de_uz.*'
值:“archiv”
-languageId:'fr.*'
价值:“档案”
年份:
类型:StaticRangeMapper
开始:“1970”
完:"2099"
月份:
类型:StaticValueMapper
地图:
一月:‘01’
二月二日
三月三日
四月四日
五月五日
六月六日
七月七日
八月:08
九月:09
十月十日
11月11日
十二月十二日
本地映射:
-区域设置:'de_u.*'
地图:
一月一日
二月二日
迈尔兹:“03”
四月四日
麦:“05”
朱尼:“06”
朱莉:“07”
八月:08
九月:09
oktober:10
11月11日
德州:12
-区域设置:“fr_u173”
地图:
詹维尔:“01”
费弗里尔:“02”
火星:“03”
艾薇儿:“04”
麦:“05”
朱因:“06”
朱丽叶:“07”
aout:'08'
九月:“09”
十月十日
11月11日
德森布雷:12
学分:谁回答了
上面的配置是Georg Ringer的一个修改版本,您可以找到。前几天我发现了以下配置,它包含了ext:news路由增强程序的所有方面:
routeEnhancers:
PageTypeSuffix:
type: PageType
default: '/'
index: '/'
map:
'/': 0
NewsPlugin:
type: Extbase
extension: News
plugin: Pi1
limitToPages: [33,59]
routes:
# Detail view:
- routePath: '/{news_title}'
_controller: 'News::detail'
_arguments: {'news_title': 'news'}
# Categories:
- routePath: '/{category}'
_controller: 'News::list'
_arguments: {'category': 'overwriteDemand/categories'}
# Tags:
- routePath: '/{tag_name}'
_controller: 'News::list'
_arguments: {'tag_name': 'overwriteDemand/tags'}
# Pagination:
- routePath: '/{page}'
_controller: 'News::list'
_arguments: {'page': '@widget_0/currentPage'}
# Archive:
- routePath: '/{localized_archive}/{year}/{month}'
_controller: 'News::archive'
# Date:
- routePath: '/{year}-{month}'
_controller: 'News::list'
_arguments:
year: overwriteDemand/year
month: overwriteDemand/month
defaultController: 'News::list'
defaults:
page: '0'
year: ''
month: ''
requirements:
page: '\d+'
news_title: '^[a-zA-Z0-9].*$'
aspects:
page:
type: StaticRangeMapper
start: '1'
end: '100'
news_title:
type: PersistedPatternMapper
tableName: tx_news_domain_model_news
routeFieldPattern: '^(?P<path_segment>.+)$'
routeFieldResult: '{path_segment}'
category:
type: PersistedAliasMapper
tableName: 'sys_category'
routeFieldName: 'title'
tag_name:
type: PersistedAliasMapper
tableName: 'tx_news_domain_model_tag'
routeFieldName: 'title'
localized_archive:
type: LocaleModifier
default: 'archive'
routeFieldName: 'title'
localeMap:
- languageId: 'de_.*'
value: 'archiv'
- languageId: 'fr_.*'
value: 'archives'
year:
type: StaticRangeMapper
start: '1970'
end: '2099'
month:
type: StaticValueMapper
map:
january: '01'
february: '02'
march: '03'
april: '04'
may: '05'
june: '06'
july: '07'
august: '08'
september: '09'
october: 10
november: 11
december: 12
localeMap:
- locale: 'de_.*'
map:
januar: '01'
februar: '02'
maerz: '03'
april: '04'
mai: '05'
juni: '06'
juli: '07'
august: '08'
september: '09'
oktober: 10
november: 11
dezember: 12
- locale: 'fr_.*'
map:
janvier: '01'
février: '02'
mars: '03'
avril: '04'
mai: '05'
juin: '06'
juillet: '07'
aout: '08'
septembre: '09'
octobre: 10
novembre: 11
décembre: 12
routeEnhancers:
PageTypeSuffix:
类型:页面类型
默认值:'/'
索引:'/'
地图:
'/': 0
新闻插件:
类型:Extbase
分机:新闻
插件:Pi1
limitToPages:[33,59]
路线:
#详细视图:
-路径路径:“/{news_title}”
_控制器:“新闻::详细信息”
_参数:{'news_title':'news'}
#类别:
-路由路径:'/{category}'
_控制器:“新闻::列表”
_参数:{'category':'overwriteDemand/categories'}
#标签:
-路由路径:'/{tag_name}'
_控制器:“新闻::列表”
_参数:{'tag_name':'overwriteDemand/tags'}
#分页:
-路由路径:'/{page}'
_控制器:“新闻::列表”
_参数:{'page':'@widget_0/currentPage'}
#档案:
-routePath:“/{本地化的_存档}/{年}/{月}”
_控制器:“新闻::存档”
#日期:
-路径路径:'/{year}-{month}'
_控制器:“新闻::列表”
_论据:
年份:被覆盖/年份
月份:覆盖强制/月份
defaultController:“新闻::列表”
默认值:
页面:“0”
年份:''
月份:“”
要求:
页面:'\d+'
氖