Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony2][PHP] Lepszy sposób na przekazywanie zmiennych do wielu szablonów
Forum PHP.pl > Forum > PHP > Frameworki
ZaqU
Szybkie pytanko odnośnie pracy z Symfony2. Tworzę mój pierwszy większy projekt i chciałbym korzystać z najlepszych metod pracy z tym frameworkiem.

Mam kilka szablonów TWIG dla wielu różnych podstron. Każdy jest obsługiwany przez inny kontroler i w każdym includuje szablon odpowiedzialny za wyświetlanie menu. Chciałbym dołączyć do tego menu nazwę użytkownika, jeśli jest on zalogowany. Muszę zatem przekazać w jakiś sposób do szablonu nazwę użytkownika i robić to w każdym kontrolerze. Jaki jest najlepszy sposób na rozwiązanie tego problemu?

Pytam, ponieważ umieszczanie za każdym razem w obiekcie Response odpowiednich zmiennych:
  1. return $this->render('MyFirstBundle:Default:index.html.twig', array("user" => "ZaqU"));

jest bardzo nieeleganckie.

Czy można to zapisać w nieco inny sposób?
pitu
  1. {% if is_granted("ROLE") %}
  2. {{ app.user.username }}
  3. {% endif %}
skowron-line
w szablonie w miejscu menu wywolaj akcje odpowiedzialna za tworzenie menu.
  1. {{ render(controller('AcmeBundle:Default:index') }}
by_ikar
Najlepszym sposobem będzie utworzenie zmiennej globalnej. W config.yml możesz ustawić jakiś service jako zmienna globalna i mieć dostęp do niej w każdym szablonie. http://symfony.com/doc/current/cookbook/te..._variables.html
ZaqU
Dziękuję wszystkim za pomoc, wybrałem sposób skowron-line'a jako ten który będzie najbardziej odpowiedni dla tego problemu smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.