TYPO3 v9.5:如何为sys_category表获取URL Segment(SLUG)字段
TYPO3 v9.5 sys_category 缺少URL Segment字段的问题解答
1. 该字段是否为默认创建?
不是。TYPO3 v9.5核心的sys_category表默认没有URL Segment(别名)字段。你看到其他同版本项目存在该字段,通常是以下两种情况导致:
- 项目安装了第三方扩展(比如
news扩展,它会自动给分类表添加slug字段用于URL优化) - 项目通过自定义TCA配置,手动为
sys_category添加了该字段
2. 是否可以添加该字段?
完全可以,推荐两种实现方式:
方式一:自定义TCA配置添加
在你的项目站点包(sitepackage)的Configuration/TCA/Overrides/sys_category.php文件中添加以下代码:
$GLOBALS['TCA']['sys_category']['columns']['slug'] = [ 'exclude' => true, 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.slug', 'config' => [ 'type' => 'slug', 'generatorOptions' => [ 'fields' => ['title'], 'fieldSeparator' => '-', 'replacements' => [ '/' => '-', ], ], 'fallbackCharacter' => '-', 'eval' => 'uniqueInSite', 'default' => '', ], ]; // 将slug字段添加到分类后台表单的显示区域 \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes( 'sys_category', 'slug', '', 'after:title' );
之后需要手动在数据库的sys_category表中添加slug字段,字段类型设为varchar(255),允许为空值。
方式二:安装第三方扩展
如果你的项目本身需要新闻功能,安装适配v9.5版本的news扩展即可——它会自动给sys_category添加slug字段,同时提供分类的URL路由支持。
注意:完成配置或安装扩展后,需清除TYPO3系统缓存并刷新TCA配置,才能在后台分类管理界面看到该字段。
内容的提问来源于stack exchange,提问作者moho123
相关产品推荐
相关产品推荐

