2016-07-05 5 views
2

Я использую symfony 2.8 и twig 1.2, мне было интересно, есть ли способ установить глобальную переменную для шаблонов twig, я бы не хотел входить в каждый файл twig и измените значение, если было центральное место, где я могу установить значение переменной и использовать его в любом из файлов twig, независимо от того, какие каталоги они находятся в этом случае.Как установить глобальные переменные в Twig с помощью symfony2

как сейчас я буду определение ключевых значений в файле paramaters.yml

parameters: 
    client_name: 'naruto uzumaki' 

, а затем внутри контроллера я есть

<?php 
use Symfony\Bundle\FrameworkBundle\Controller\Controller; 

class MyController extends Controller 
{ 
    public function editAction() 
    { 
     $var = $this->container->getParameter('client_name'); 
     return $this->render("UserBundle:edit:edit.html.twig", array('var' => $var)); 
    } 
} 

затем показывая его в сучок,

<h1>Hello, {{ var }}</h1> 

я хотел бы избегать callin г контейнер службы в контроллере и прямой доступ client_name значение в файле веточку, любая помощь будет оценена

-dheeraj

ответ

4

Да, вы можете, в файле конфигурации:

# app/config/config.yml 
twig: 
    globals: 
     my_global_variable: '%client_name%' 

Тогда в Twig:

{{ my_global_variable }} 

не пугайтесь поиска решения в Google, то первый результат для «прут глобальной переменной» является:

http://symfony.com/doc/current/cookbook/templating/global_variables.html

+0

, поскольку вы были на 3 минуты быстрее, чем этот парень, его справедливость, чтобы принять ваш ответ –

Смежные вопросы