Подобно qaru.site/questions/690226/... для A "parameters.yml для пакета, symfony2". В настоящее время глобальные переменные доступны для каждого из пакетов. Мне нужно добавить глобальные переменные в ветку для каждого пакета. Это можно сделать?
Да, в соответствии с этими документами вы можете просто добавить это в свой инъецированный файл whatever.yml
который вы добавили в свой пакет:
twig:
# ...
globals:
foo: bar
Затем вы возвращаетесь к нему в своих шаблонах Twig, используя {{ foo }}
Для того, чтобы придать свой whatever.yml
файл в Bundle конфигурации (и обратно в Symfony), вы должны следовать этим инструкциям. Здесь вы добавляете следующую строку к функции load()
файла Extension
расположенной в DependencyInjection
(обычно это делается при использовании php app/console generate:bundle
):
use Symfony\Component\DependencyInjection\Loader;
use Symfony\Component\Config\FileLocator;
// ...
public function load(array $configs, ContainerBuilder $container)
{
$loader = new Loader\YamlFileLoader(
$container,
new FileLocator(__DIR__.'/../Resources/config')
);
$loader->load('services.yml');
$loader->load('whatever.yml'); // Your new line
}
для меня кажется довольно странным. Я предполагаю, что вы хотите установить глобальную переменную изнутри пакета, правильно ли? В этом случае используйте TwigExtension, как описано в документах: http://symfony.com/doc/current/cookbook/templating/global_variables.html#using-a-twig-extension
whatever.yml
файлу» ... Я видел вашу ссылку на этот ответ и неправильно сделал вывод , что вы бы поняли, как придать этот файл от чтения предыдущего ответа, но так как Вы не сделали, я отредактировал для дальнейших инструкций.