extbase 记录的 TYPO3 9.5 slug 重定向导致 PageNotFoundException
TYPO3 9.5 slug redirect for extbase records results in PageNotFoundException
我希望能够通过 routeEnhancer
由标题组成的 slug 来调用 blogpost 条目。 slug 已正确生成,但调用 URL 会导致 PageNotFoundException
并显示错误消息:
无法验证请求参数(&cHash 为空)
以及使用 Fluid 生成的链接:
<f:link.action action="show" arguments="{'blogpost': blogpost}" pageUid="{settings.ShowPid}">Weiterlesen</f:link.action>
...我得到请求的页面不存在
使用 TYPO3 9.5.16
这是我的配置:
setup.typoscript
plugin.tx_exblog {
config {
defaultGetVars = 0
}
features {
requireCHashArgumentForActionArguments = 0
}
}
site/config.yaml
routeEnhancers:
NewsPlugin:
type: Extbase
extension: ExBlog
plugin: Show
routes:
- { routePath: '/{title}', _controller: 'Blogpost::show', _arguments: { title: blogpost } }
defaultController: 'Blogpost::teaser'
aspects:
title:
type: PersistedAliasMapper
tableName: 'tx_exblog_domain_model_blogpost'
routeFieldName: 'slug'
routeValuePrefix: '/'
TCA
'slug' => [
'label' => 'slug',
'exclude' => true,
'config' => [
'type' => 'slug',
'generatorOptions' => [
'fields' => ['title'],
'fieldSeparator' => '/',
'prefixParentPageSlug' => true,
'replacements' => [
'/' => '',
],
],
'fallbackCharacter' => '-',
'eval' => 'uniqueInSite',
],
]
ext_tables.sql
slug varchar(255) DEFAULT '' NOT NULL,
关于我遗漏了什么的任何想法?
TYPO3 v9.5.16 中有关于 eval => "uniqueInSite"
的更改。请验证您是否真的想保持博客文章在站点中的唯一性。如果是这种情况,博文的 "pid" 需要位于同一站点内。如果您不需要这个,只需将 eval
切换为 unique
我希望能够通过 routeEnhancer
由标题组成的 slug 来调用 blogpost 条目。 slug 已正确生成,但调用 URL 会导致 PageNotFoundException
并显示错误消息:
无法验证请求参数(&cHash 为空)
以及使用 Fluid 生成的链接:
<f:link.action action="show" arguments="{'blogpost': blogpost}" pageUid="{settings.ShowPid}">Weiterlesen</f:link.action>
...我得到请求的页面不存在
使用 TYPO3 9.5.16
这是我的配置:
setup.typoscript
plugin.tx_exblog {
config {
defaultGetVars = 0
}
features {
requireCHashArgumentForActionArguments = 0
}
}
site/config.yaml
routeEnhancers:
NewsPlugin:
type: Extbase
extension: ExBlog
plugin: Show
routes:
- { routePath: '/{title}', _controller: 'Blogpost::show', _arguments: { title: blogpost } }
defaultController: 'Blogpost::teaser'
aspects:
title:
type: PersistedAliasMapper
tableName: 'tx_exblog_domain_model_blogpost'
routeFieldName: 'slug'
routeValuePrefix: '/'
TCA
'slug' => [
'label' => 'slug',
'exclude' => true,
'config' => [
'type' => 'slug',
'generatorOptions' => [
'fields' => ['title'],
'fieldSeparator' => '/',
'prefixParentPageSlug' => true,
'replacements' => [
'/' => '',
],
],
'fallbackCharacter' => '-',
'eval' => 'uniqueInSite',
],
]
ext_tables.sql
slug varchar(255) DEFAULT '' NOT NULL,
关于我遗漏了什么的任何想法?
TYPO3 v9.5.16 中有关于 eval => "uniqueInSite"
的更改。请验证您是否真的想保持博客文章在站点中的唯一性。如果是这种情况,博文的 "pid" 需要位于同一站点内。如果您不需要这个,只需将 eval
切换为 unique