What we need
In TYPO3 ver. 4.x we used to include additional configuration file for overwriting some settings (ie. DB credentials) by adding the include statement at the end of the localconf.php
:
@include_once('localconf_local.php');
Thanks to this trick it is possible for an example keep separate database settings or IM paths individual for each developer as we can just ignore our 'local' files from the git repository.
What's the problem
Unfortunately in TYPO3 ver. 6.x that approach requires manual changes of the LocalConfiguration.php
to overwrite the values before the return
statement, what's more after each operation in Install Tool (or Extension Manager) the file is completely to original syntax (so we need to change it again and again...
Question
Have you guys any workaround for this? Or this is just... impossible to do?
Got it! :)
The answer is: typo3conf/AdditionalConfiguration.php
if this file exists it's included automatically, to overwrite some values we need to use well-known syntax ie.:
<?php
$GLOBALS['TYPO3_CONF_VARS']['DB']['database'] = 'my_local_database';
$GLOBALS['TYPO3_CONF_VARS']['DB']['host'] = 'localhost';
$GLOBALS['TYPO3_CONF_VARS']['DB']['username'] = 'username';
$GLOBALS['TYPO3_CONF_VARS']['DB']['password'] = 'mypassword';
?>
From "What's new" SlideShare (page 33)
In addition to your own answer pay attention to a fact, that from 6.0 you shouldn't access TYPO3_CONF_VARS directly in your extension, but by getLocalConfigurationValueByPath('BE/loginSecurityLevel') and setLocalConfigurationValueByPath('BE/loginSecurityLevel', 'rsa') in \TYPO3\CMS\Core\Configuration\ConfigurationManager
class.
Taken from same "What's new" SlideShare page 35.
UPDATE 15.06.15: Page 35 was included by accident to slides. Since TYPO3 6.2 ConfigurationManager is marked @internal. So, you shouldn't use ConfigurationManager in your own code. Details
来源:https://stackoverflow.com/questions/18350213/typo3-ver-6-x-additional-configuration-a-k-a-localconf-local-php