Глобальная переменная Twig для каждого пакета, Symfony2

0

Подобно qaru.site/questions/690226/... для A "parameters.yml для пакета, symfony2". В настоящее время глобальные переменные доступны для каждого из пакетов. Мне нужно добавить глобальные переменные в ветку для каждого пакета. Это можно сделать?

Теги:
twig

2 ответа

1

Да, в соответствии с этими документами вы можете просто добавить это в свой инъецированный файл 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
}
  • 0
    но мой файл parameters.yml отсутствует в app / config /, потому что теперь он находится в Resource / config / каждого пакета, поэтому config.yml не находит переменную. Вот почему нам нужно определить переменные для каждого пучка веток. Файл, который определяет глобальные переменные для каждого пучка веток
  • 0
    @fgonzalez Вот почему я сказал «добавить к вашему закачиваемой whatever.yml файлу» ... Я видел вашу ссылку на этот ответ и неправильно сделал вывод , что вы бы поняли, как придать этот файл от чтения предыдущего ответа, но так как Вы не сделали, я отредактировал для дальнейших инструкций.
Показать ещё 1 комментарий
0

для меня кажется довольно странным. Я предполагаю, что вы хотите установить глобальную переменную изнутри пакета, правильно ли? В этом случае используйте TwigExtension, как описано в документах: http://symfony.com/doc/current/cookbook/templating/global_variables.html#using-a-twig-extension

Ещё вопросы

Сообщество Overcoder
Наверх
Меню