2013-10-23 5 views
10

versucht mit zu tun wie dieses Ich hatte:

{{ $_GET['page'] }} 

aber, dass immer noch nicht funktioniert.

Antwort

6

Die einzigen Variablen in Zweig sind:

Wenn Sie eine haben wollen page Variable verfügbar, fügen Sie "page" => $_GET["page"] zum zweiten Parameter von render hinzu.

Wenn Sie möchten, dass die vollständige $_GET superglobal verfügbar ist, fügen Sie "GET" => $_GET zum zweiten Parameter render hinzu.

+0

danke @Maerlyn Ich hatte mein Problem gelöst. :) – antoniputra

52

für den Einsatz $ _POST Variablen dies:

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

Dazu $ _GET Variablen verwenden:

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

Dazu $ _COOKIE Variablen verwenden:

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

Für $ _SESSION Variablen Verwenden Sie dies:

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

Dies wird vorausgesetzt, Sie eine „App“ hash mit diesen Tasten richtig eingerichtet übergeben. – Maerlyn

+2

@Maerlyn das ist symfony Lösung – Jekis

+5

@Jenechka die Frage ist nicht markiert symfony, und nichts in der Frage schlägt vor, es zu verwenden. – Maerlyn

1

Sie können in TWIG nicht auf unbearbeitete PHP-Werte zugreifen, daher müssen Sie dem Zweigobjekt alles hinzufügen, was Sie benötigen.

Hier ist ein Beispiel für die Verbindung der $_GET, $_POST und $_SESSION zu Zweig.

//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); 

können nun annehmen, dass Sie einen Wert haben username in jeder der oben ($_GET, $_POST und $_SESSION) gespeichert genannt Sie jetzt alle diese innerhalb Ihrer Vorlage zugreifen können wie folgt.

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

Hoffnung hilft diese