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

TYPO3 v11多站点:扩展站点配置GUI及默认导入配置需求

TYPO3 v11 多站点配置需求解决方案

1. 扩展站点配置GUI支持settings顶层嵌套配置

要让无SSH权限的管理员通过GUI添加settings节点下的嵌套配置,需修改站点配置的TCA定义,将字段纳入settings结构:

  1. 在自定义扩展的Configuration/SiteConfiguration/Overrides/sites.php中添加TCA配置:
<?php
defined('TYPO3') or die();

$GLOBALS['TYPO3_CONF_VARS']['SYS']['site']['configuration']['settings'] = [
    'label' => 'Settings',
    'type' => 'array',
    'children' => [
        'foo1' => [
            'label' => 'Foo 1',
            'type' => 'input',
            'eval' => 'trim',
        ],
        'foo2' => [
            'label' => 'Foo 2',
            'type' => 'input',
            'eval' => 'trim',
        ],
        // 可按需添加更多字段
    ],
];
  1. 刷新TYPO3缓存后,站点配置GUI会出现名为"Settings"的折叠面板,管理员可在其中填写foo1、foo2等值,保存后站点配置文件会自动生成如下结构:
settings:
  foo1: bar1
  foo2: bar2
  1. 在TypoScript中直接通过{$foo1}调用对应值,TYPO3会自动解析config.site.settings.foo1的配置。

2. 新建config.yaml时默认添加imports配置

通过监听TYPO3的站点配置创建事件,自动修改生成的YAML内容:

  1. 在自定义扩展中创建事件监听器类Classes/EventListener/SiteConfigurationAddedListener.php:
<?php
namespace Vendor\YourExtension\EventListener;

use TYPO3\CMS\Core\Configuration\Site\Event\SiteConfigurationAddedEvent;

class SiteConfigurationAddedListener
{
    public function __invoke(SiteConfigurationAddedEvent $event): void
    {
        $configuration = $event->getConfiguration();
        // 添加默认imports配置,可根据需求调整resource路径
        $configuration['imports'] = [
            ['resource' => 'EXT:your_extension/Configuration/Site/Defaults.yaml']
        ];
        $event->setConfiguration($configuration);
    }
}
  1. 在Configuration/Services.yaml中注册事件监听器:
services:
  Vendor\YourExtension\EventListener\SiteConfigurationAddedListener:
    tags:
      - name: event.listener
        identifier: 'your-extension/site-configuration-added'
        event: TYPO3\CMS\Core\Configuration\Site\Event\SiteConfigurationAddedEvent
  1. 刷新缓存后,新建站点时生成的config.yaml会自动包含指定的imports配置:
imports:
  - { resource: "EXT:your_extension/Configuration/Site/Defaults.yaml" }

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 14:52:12