typo3 - TYPO3 9.5:用高级路由配置替换 RealURL 代码
问题描述
如何将此代码从 RealURL 获取到 TYPO3 9.5 '高级路由配置'?
使用“方面”类型“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' => '-'
)
),
),
解决方案
我建议添加一个slug
字段。有了这个,编辑器可以处理每条记录的 url 段。以下是所需的更改:
SQL:
CREATE TABLE tx_extension_domain_model_event (
slug varchar(1024) DEFAULT '' NOT NULL
);
三氯乙酸tx_extension_domain_model_event
'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'
推荐阅读
- ffmpeg - 如何修复 ffmpeg 未找到 | 不和谐.py
- javascript - 创建组件后丢失动画
- python - 如何准确获取图像中形状的轮廓?
- wordpress - 下拉菜单仅在引导程序 4 上的 WordPress 中有效一次
- python-3.x - Sqlite3 dbase 表永久锁定写入
- javascript - 在全前端 React 应用程序中将本地状态数据保存在 localStorage 中通常是否安全?
- python - 如何查看数据框两列之间的最大值以及一列中有多少值大于另一列?
- javascript - Js如何使用selfbot删除消息
- c# - 如何在 ControlBindingCollection 中找到特定绑定?
- python - PyTorch:预期输入 batch_size (12) 与目标 batch_size (64) 匹配