11

我们需要的

在 TYPO3 版本中。在 4.x 中,我们过去通过在末尾添加 include 语句来包含用于覆盖某些设置(即数据库凭据)的附加配置文件localconf.php

@include_once('localconf_local.php');

由于这个技巧,我们可以为每个开发人员保留单独的数据库设置或 IM 路径,因为我们可以忽略 git 存储库中的“本地”文件。

有什么问题

不幸的是在 TYPO3 版本中。6.x 这种方法需要手动更改LocalConfiguration.php以覆盖return语句之前的值,更重要的是,在安装工具(或扩展管理器)中的每次操作之后,文件完全是原始语法(所以我们需要一次又一次地更改它.. .

问题

你们有什么解决方法吗?或者这只是......不可能做到?

4

2 回答 2

30

知道了!:)

答案是:typo3conf/AdditionalConfiguration.php如果此文件存在,它会自动包含在内,要覆盖某些值,我们需要使用众所周知的语法,即:

<?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';
?>

来自“最新消息”SlideShare(第 33 页)

于 2013-08-21T06:50:52.130 回答
3

除了您自己的答案之外,请注意一个事实,即从 6.0 开始,您不应直接在扩展程序中访问 TYPO3_CONF_VARS,而是通过getLocalConfigurationValueByPath ('BE/loginSecurityLevel') 和setLocalConfigurationValueByPath ('BE/loginSecurityLevel', 'rsa')\TYPO3\CMS\Core\Configuration\ConfigurationManager班级。

取自同一个“新功能”SlideShare第 35 页。

更新 15.06.15:第 35 页意外包含在幻灯片中。由于 TYPO3 6.2 ConfigurationManager 被标记为@internal。因此,您不应该在自己的代码中使用 ConfigurationManager 。细节

于 2013-08-21T08:16:37.220 回答