从控制器更改TYPO3中的全局变量

时间:2019-03-12 09:52:50

标签: typo3 typo3-9.x

在TYPO3 CMS中,如果要更改日志的保存位置,则需要更改$GLOBALS['TYPO3_CONF_VARS']['LOG']['writerConfiguration']并添加文件位置。好吧,我正在开发一个扩展,它将允许用户更改此行为,但是问题是我无法在运行时更改它。我的意思是如果我写:

$GLOBALS['TYPO3_CONF_VARS']['LOG']['writerConfiguration'] = "some thing new'

在调试时,我可以看到它在$ GLOBALS中已更改,但在配置后记中不会更改。 我记得那里有一个用于更改/添加新配置的功能,但我找不到它。有人可以帮忙吗?

我正在使用TYPO3 CMS v9.5.5

1 个答案:

答案 0 :(得分:1)

我猜您在寻找 TYPO3\CMS\Core\Configuration\ConfigurationManager::updateLocalConfiguration()吗?

/**
 * Override local configuration with new values.
 *
 * @param array $configurationToMerge Override configuration array
 */

它可以如下使用:

<?php
$objectManager = GeneralUtility::makeInstance(ObjectManager::class);
$configurationManager = $objectManager->get(ConfigurationManagerInterface::class);
$configurationManager->updateLocalConfiguration('...');