2016-09-09 2 views
0

Ich habe eine kleine extbase Erweiterung, die meine Farbeinstellungen ändert (zB CSS, CookieBar, etc.), und ich möchte auch die Farbe der Backend Plugin Schaltfläche ändern, in der backend sysext in meinem Regler.Schreiben in extConf in extbase Controller

Erhalten Sie den Wert:

$var = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['backend']); 
$var["loginHighlightColor"]="#444444"; 

Aber jetzt, wie speichere ich den Wert? Wenn die folgende Anweisung versucht, setzt er den Wert korrekt, aber es nicht beibehalten bekommt:

$GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['backend'] = serialize($var); 

Auch manuell arbeiten mit den PersistentManager nicht zu bestehen versucht.

+0

nicht die Erweiterung Konfiguration sichere Konfigurationswerte im laufenden Betrieb anwenden. Speichern Sie sie woanders, z. die TYPO3-Registrierung oder im Konfigurationsdatensatz. – pgampe

Antwort

1

Dank Bernd Wilke habe ich es:

$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" 
); 
0

So funktioniert es in meiner AdditionalConfiguration.php. Vielleicht können Sie es anpassen:

$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', 
    ] 
); 
Verwandte Themen