Bolt CMS - 从新创建的YAML文件中获取数据

时间:2015-11-27 13:38:53

标签: php bolt-cms

我创建了一个新文件:

app/config/contacts.yml

内容:

email: 'email@domain.co.uk'
address: 'Planetary House'
address1: 'Planetary Road'
address2: 'address2'
address3: 'postcode'
phone: '0871 2007065'
phone2: '08000 328311'
company: '1234567'
vat: '123456677'

在我的模板文件中,如何获取这个新创建的YAML文件的内容?

我知道使用下面的方法来处理现有的config.yml等。

app.config.get('general/sitename')

非常感谢任何帮助。

干杯

广告

1 个答案:

答案 0 :(得分:1)

由于您添加的新文件不在Bolt识别的标准集中,因此您无法在不手动加载文件的情况下开箱即用。

选项1是将文件解析并加载到Bolt的配置对象中。您可以通过将以下代码放入index.php或引导程序文件(在调用$app->run()之前)

来执行此操作
$path = $app['resources']->getPath('config');
$filename = $path . '/contacts.yml';
$parser = new Symfony\Component\Yaml\Parser();
$yml = $parser->parse(file_get_contents($filename) . "\n");
$app['config']->set('contacts', $yml);

执行此操作后,您可以使用以下内容在模板中访问它:app.config.get('contacts')

如果您不介意使用现有文件,第二个选项是利用主题config.yml文件,该文件是从与您的主题相同的目录自动加载的。您可以将块添加到那里,例如:     联系方式:         电子邮件:' email@domain.co.uk'         地址:' Planetary House'         ....

然后将其加载到theme变量中,您可以在模板中使用,例如:{{ theme.contacts.email }}