【问题标题】:TYPO3 9.5: Replace RealURL-code with Advanced Routing ConfigurationTYPO3 9.5:用高级路由配置替换 RealURL 代码
【发布时间】:2020-09-04 13:35:21
【问题描述】:

我如何从 RealURL 获取此代码到 TYPO3 9.5 '高级路由配置'?

使用“aspects”类型“PersistedAliasMapper”,您只能映射到 UID。 但我想映射到另一个领域! 在我的情况下,关于“event_id”字段。

array(
                    'GETvar' => 'tx_extension_search[eventid]',
                    'lookUpTable' => array(
                        'table' => 'tx_extension_domain_model_event',
                        'id_field' => 'event_id',
                        'alias_field' => 'title_alias',
                        'useUniqueCache' => 0,
                        'useUniqueCache_conf' => array(
                            'strtolower' => 1,
                            'spaceCharacter' => '-'
                        )
                    ),
                ),

【问题讨论】:

    标签: typo3 typo3-9.x


    【解决方案1】:

    我建议添加一个slug 字段。有了这个,编辑器可以处理每条记录的 url 段。 以下是所需的更改:

    SQL:

    CREATE TABLE tx_extension_domain_model_event (
      slug varchar(1024) DEFAULT '' NOT NULL
    );
    

    tx_extension_domain_model_event的TCA

            'slug' => [
                'exclude' => true,
                'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:pages.slug',
                'config' => [
                    'type' => 'slug',
                    'size' => 50,
                    'generatorOptions' => [
                        'fields' => ['title'],
                        'replacements' => [
                            '/' => '-'
                        ],
                    ],
                    'fallbackCharacter' => '-',
                    'default' => ''
                ]
            ],
    
    

    config.yaml 中的配置,例如showAction 显示事件详情:

    routeEnhancers:
      YourPlugin:
        type: Extbase
        extension: ExtensionKey
        plugin: Search
        limitToPages: [Put your detailPagePid here]
        routes:
          - { routePath: '/event/{event}', _controller: 'Event::show', _arguments: {'event': 'event'}}
        defaultController: 'Event::show'
        aspects:
          event:
            type: PersistedAliasMapper
            tableName: 'tx_extension_domain_model_event'
            routeFieldName: 'slug'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      相关资源
      最近更新 更多