Typo3 在extbase控制器中写入extConf
我有一个小小的extbase扩展,可以更改我的颜色设置(例如css、cookiebar等),我还想更改控制器中Typo3 在extbase控制器中写入extConf,typo3,backend,globals,Typo3,Backend,Globals,我有一个小小的extbase扩展,可以更改我的颜色设置(例如css、cookiebar等),我还想更改控制器中后端sysext中后端插件按钮的颜色 获取值: $var = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['backend']); $var["loginHighlightColor"]="#444444"; 但是现在,我如何保存价值呢? 尝试以下语句时,它会正确设置值,但不会持久化: $GLOBALS['TYPO
后端
sysext中后端插件按钮的颜色
获取值:
$var = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['backend']);
$var["loginHighlightColor"]="#444444";
但是现在,我如何保存价值呢?
尝试以下语句时,它会正确设置值,但不会持久化:
$GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['backend'] = serialize($var);
即使尝试使用PersistentManager手动持久化也不起作用。这就是它在我的AdditionalConfiguration.php中的工作原理。也许你可以适应它:
$resourcePath = 'EXT:' . $extKey . '/Resources/Public/Images/';
$GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['backend'] = serialize(
[
'loginLogo' => $resourcePath . 'logo.svg',
'loginHighlightColor' => '#c0c0c0',
'loginBackgroundImage' => $resourcePath . 'login-bg.svg',
]
);
这就是它在我的AdditionalConfiguration.php中的工作方式。也许你可以适应它:
$resourcePath = 'EXT:' . $extKey . '/Resources/Public/Images/';
$GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['backend'] = serialize(
[
'loginLogo' => $resourcePath . 'logo.svg',
'loginHighlightColor' => '#c0c0c0',
'loginBackgroundImage' => $resourcePath . 'login-bg.svg',
]
);
您可能需要执行与此处相同的操作: 由于该函数受保护,因此不能从代码中调用它。 您可以使用两个公共功能: 公共函数saveAction(数组$config,$extensionKey)(第109行)
公共函数saveAndCloseAction(数组$config,$extensionKey)(第131行)您可能需要执行与此处相同的操作: 由于该函数受保护,因此不能从代码中调用它。 您可以使用两个公共功能: 公共函数saveAction(数组$config,$extensionKey)(第109行) 公共函数saveAndCloseAction(数组$config,$extensionKey)(第131行)多亏了我得到了它:
$var = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['backend']);
$var["loginHighlightColor"]="#444444";
$GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['backend'] = serialize($var);
$configurationUtility = $this->objectManager->get(\TYPO3\CMS\Extensionmanager\Utility\ConfigurationUtility::class);
$newConfiguration = $configurationUtility->getCurrentConfiguration("backend");
\TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule($newConfiguration, $var);
$configurationUtility->writeConfiguration(
$configurationUtility->convertValuedToNestedConfiguration($newConfiguration),
"backend"
);
多亏了我,我得到了它:
$var = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['backend']);
$var["loginHighlightColor"]="#444444";
$GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['backend'] = serialize($var);
$configurationUtility = $this->objectManager->get(\TYPO3\CMS\Extensionmanager\Utility\ConfigurationUtility::class);
$newConfiguration = $configurationUtility->getCurrentConfiguration("backend");
\TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule($newConfiguration, $var);
$configurationUtility->writeConfiguration(
$configurationUtility->convertValuedToNestedConfiguration($newConfiguration),
"backend"
);
不要使用扩展配置动态更改安全配置值。将它们存储在其他地方,例如TYPO3注册表或配置记录中。不要使用扩展配置来动态保护配置值。将它们存储在其他地方,例如TYPO3注册表或配置记录中。