Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Routes 如何处理路由增强器中的新闻类别(TYPO3 v9)_Routes_Typo3_Tx News_Typo3 9.x - Fatal编程技术网

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+'
氖