gpt4 book ai didi

php - 在 _config.php 中获取 SiteConfig 变量

转载 作者:可可西里 更新时间:2023-11-01 13:20:43 26 4
gpt4 key购买 nike

在 SilverStripe 3.4.1 中,我想通过管理设置控制 _config.php 文件值。我想在 Admin> Settings> MyTab 中设置一些变量,然后在 _config.php 中访问这些变量。

有没有办法访问 _config.php 文件中的 SiteConfig 变量?

我尝试使用几种不同的方式来获取配置数据:

  • Config::inst()
    • print_r/var_dump 将所有值作为数组给出
  • Config::inst()->get($this->class, 'PropertyName')$this->config()-> get('PropertyName')
    • 返回空
  • SiteConfig::current_site_config() 或基于前两个的任何其他类似变体
    • 内部服务器错误

我想这样做的原因是我有一个插件可以替换一些 SilverStripe 默认操作,但它需要插入一些数据。如果未插入此数据,它应保持默认状态。

以下是我通读的一些资源,试图找到解决方案:

最佳答案

问题是 DB::connect_config.php 的那个阶段没有被调用。因此我们无法从数据库中检索项目。

我们可以做的是在检索SiteConfig 之前调用_config.php 中的DB::connect

假设我们的数据库配置设置存储在 $databaseConfig 中,下面是获取我们的 SiteConfig 的代码:

DB::connect($databaseConfig);
$siteConfig = SiteConfig::current_site_config();

然后我们可以像这样检索 SiteConfig 变量:

$siteConfig->Title;

关于php - 在 _config.php 中获取 SiteConfig 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39254997/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com