2013-10-23 11 views
10

Próbowałem zrobić tak:

{{ $_GET['page'] }} 

ale nadal nie działa.

Odpowiedz

6

Jedyne zmienne dostępne w Gałązka są:

Jeśli chcesz mieć page dostępna zmienna, dodaj "page" => $_GET["page"] do drugiego parametru render.

Jeśli chcesz mieć dostępny cały superglobalny , dodaj "GET" => $_GET do drugiego parametru render.

+0

dzięki @Maerlyn Rozwiązałem mój problem. :) – antoniputra

52

za $ _POST zmiennych użyj:

{{ app.request.parameter.get("page") }} 

za $ _GET Zmienne użyj:

{{ app.request.query.get("page") }} 

za $ _COOKIE zmienne użyj:

{{ app.request.cookies.get("page") }} 

Dla $ _SESSION zmienne użyj tego:

{{ app.request.session.get("page") }} 
+9

to zakładając, że zdać „APP” hash z tych klawiszy prawidłowo skonfigurowana. – Maerlyn

+2

@Maerlyn to rozwiązanie symfony – Jekis

+5

@Jenechka pytanie nie jest otagowane symfony, a nic w pytaniu sugeruje użycie go. – Maerlyn

1

Nie możesz uzyskać dostępu do surowych wartości PHP w TWIG, więc musisz dołączyć wszystko, co potrzebne do obiektu z gałązkami.

Oto przykład dołączania do gałązek $_GET, $_POST i .

//initialise your twig object 
$loader = new \Twig_Loader_Filesystem(__PATH_TO_TEMPLATES_FOLDER__'); 
$this->twig = new \Twig_Environment($loader); 

$this->twig->addGlobal('_session', $_SESSION); 
$this->twig->addGlobal('_post', $_POST); 
$this->twig->addGlobal('_get', $_GET); 

Teraz pozwala założyć, że masz wartość o nazwie username przechowywanych w każdym z powyższych ($_GET, $_POST i $_SESSION) Możesz teraz uzyskać dostęp do wszystkich z nich wewnątrz szablonu w następujący sposób.

{{ _session.username }} 
{{ _post.username }} 
{{ _get.username }} 

Nadzieja to pomaga

Powiązane problemy