You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TYPO3自定义扩展中Tsconfig扩展名及自动引入规则咨询

TYPO3 8.7 TsConfig扩展名规范、自动加载规则及DDEV迁移配置方案

1. TsConfig文件的扩展名选择

TYPO3 8.7虽然兼容用.typoscript作为TsConfig的扩展名,但官方推荐并在后续版本统一使用.tsconfig。原因很简单:TsConfig(页面/用户配置)和常规TypoScript是两个完全不同的配置体系——前者负责后端界面、页面权限等后台相关配置,后者是前端渲染的核心规则,用不同扩展名能让文件结构更清晰,也贴合后续TYPO3版本的规范(比如9+版本明确区分这两类扩展名)。社区此前的投票也倾向于这个区分方式,所以建议你统一给TsConfig文件用.tsconfig扩展名。

2. 自定义扩展中自动加载的TypoScript/TsConfig规则

在TYPO3 8.7里,自动加载并非覆盖目录下所有文件,而是有明确的限定:

  • TypoScript部分:仅Configuration/TypoScript/constants.typoscript和Configuration/TypoScript/setup.typoscript这两个文件会被TYPO3自动加载。同一目录下的其他TypoScript文件,需要在这两个主文件里通过<INCLUDE_TYPOSCRIPT>指令引入,示例:
    <INCLUDE_TYPOSCRIPT: source="FILE:EXT:your_extkey/Configuration/TypoScript/Layouts/Default.typoscript">
    
  • TsConfig部分:仅Configuration/TsConfig/Page.tsconfig会被自动作为页面TsConfig加载。其他TsConfig文件(比如细分的后台布局配置、用户配置),要么在Page.tsconfig里用<INCLUDE_TSCONFIG>引入,要么在扩展的ext_localconf.php里通过PHP代码注册,示例:
    \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(
        '<INCLUDE_TSCONFIG: source="FILE:EXT:your_extkey/Configuration/TsConfig/BackendLayouts.tsconfig">'
    );
    

迁移到DDEV时实现自动引入的具体操作

DDEV本身不会影响TYPO3的配置加载逻辑,只要遵循TYPO3的规范配置,就能实现自动引入:

  1. 规范扩展文件结构:
    • 将全局常量配置放到Configuration/TypoScript/constants.typoscript,渲染规则配置放到Configuration/TypoScript/setup.typoscript
    • 页面TsConfig主文件命名为Configuration/TsConfig/Page.tsconfig
  2. 确保扩展激活:如果是Composer模式,在DDEV环境里通过ddev composer require安装扩展;非Composer模式则在TYPO3后台“扩展管理”中激活目标扩展
  3. 清理缓存:每次修改配置后,在DDEV终端执行ddev exec typo3 cache:flush,确保TYPO3加载最新配置
  4. 拆分配置的处理:若配置较多拆分到多个文件,通过前面提到的<INCLUDE_TYPOSCRIPT>/<INCLUDE_TSCONFIG>指令将子文件引入主文件,或通过PHP代码注册,就能实现所有配置的自动加载

内容的提问来源于stack exchange,提问作者god_is_love

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:47:45