У меня есть шаблон ветки Symfony2. Я хочу вывести значение параметра конфигурации в этом шаблоне ветки (номер версии). Поэтому я определил параметр config следующим образом:
parameters:
app.version: 0.1.0
Я могу использовать этот параметр конфигурации в контроллерах, но понятия не имею, как получить его в моем шаблоне Twig.
symfony
configuration
twig
Тимо Хаберкерн
источник
источник
Вы можете легко определить в своем конфигурационном файле:
И получить доступ к нему в вашем шаблоне с
В противном случае это должен быть способ с расширением Twig для представления ваших параметров.
источник
Вы также можете воспользоваться встроенной системой служебных параметров, которая позволяет изолировать или повторно использовать значение:
Теперь переменная ga_tracking доступна во всех шаблонах Twig:
Параметр также доступен внутри контроллеров:
Вы также можете определить сервис как глобальную переменную Twig (Symfony2.2 +):
http://symfony.com/doc/current/templating/global_variables.html
Если глобальная переменная, которую вы хотите установить, является более сложной - скажем, объект - тогда вы не сможете использовать вышеуказанный метод. Вместо этого вам нужно создать расширение Twig и вернуть глобальную переменную как одну из записей в методе getGlobals.
источник
В более новых версиях Symfony2 (с использованием
parameters.yml
вместоparameters.ini
) вы можете хранить объекты или массивы вместо пар ключ-значение, поэтому вы можете управлять глобальными переменными следующим образом:config.yml (редактируется только один раз):
parameters.yml:
А затем в файле ветки, вы можете использовать
{{ project.version }}
или{{ project.name }}
.Примечание: мне лично не нравится добавлять что-то
app
, просто потому что это переменная Symfony, и я не знаю, что там будет храниться в будущем.источник
Вышеуказанные ответы верны и работают нормально. Я использовал по-другому.
config.yml
app.yml
app_twig.yml
Внутри контроллера:
Внутри файла шаблона / ветки:
Чтобы использовать выход контроллера:
контроллер:
файл шаблона / ветки:
Я упомянул разные для лучшего понимания.
источник
С расширением Twig вы можете создать функцию
parameter
Twig:TwigExtension.php:
service.yml:
источник
Вы можете просто привязать
$this->getParameter('app.version')
в контроллере к параметру ветки и затем отобразить его.источник
В confing.yml
В ветке зрения
источник