Невозможно создать глобальную переменную Twig в Symfony 4 - PullRequest
0 голосов
/ 01 июля 2018

Я уже сделал это с помощью Symfony 3.3, но с Symfony 4 он не работает.

App \ Twig \ NotifExt:

    public function getGlobals(){

    $count = 'Hello World';

    return array('count' => $count);        
}

twig_extensions.yaml:

twig:
     globals:
          'count': '%count%'

base.html.twig:

<a class="nav-item nav-link" href="#">{{ count }} </a>

Я делал нечто подобное в предыдущей версии, и она работает хорошо, но с Symfony 4 я получаю следующую ошибку:

Вы запросили несуществующий параметр "count".

1 Ответ

0 голосов
/ 01 июля 2018

Первым шагом является удаление одинарных кавычек из переменной count, определенной в глобальных переменных веток.

В вашем вопросе вы, похоже, определяете ключ count, используя параметр, но для использования службы (класса) читайте Как внедрить переменные во все шаблоны (т.е. глобальные переменные) :

twig:
    globals:
        yourService: '@App\YourService\Class'

, а затем ссылается на сервисный метод для получения ключа count:

{{ yourService.getCount() }}

У вас есть много способов сделать это, но вы можете поиграть с этим простым примером, чтобы получить больше идей.

Если проблема не решена, возможно, вам нужно обновить вопрос, чтобы узнать, как установить клавишу count.

PS: вы очистили кеш?

...