在SilverStripe 3.4.1中,我想_config.php通过管理员设置来控制文件值.我想在管理 > 设置 > MyTab中设置一些变量,然后在中访问这些变量_config.php.
有没有办法访问文件中的SiteConfig变量_config.php?
我尝试使用几种不同的方法来获取配置数据:
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.因此,我们无法从数据库中检索项目.
我们所能做的就是调用DB::connect我们_config.php,我们获得我们面前SiteConfig.
假设存储了我们的数据库配置设置$databaseConfig,这里是获取我们的代码SiteConfig:
DB::connect($databaseConfig);
$siteConfig = SiteConfig::current_site_config();
Run Code Online (Sandbox Code Playgroud)
然后我们可以SiteConfig像这样检索变量:
$siteConfig->Title;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
380 次 |
| 最近记录: |