2013-10-23 55 views

回答

6

在枝杈唯一可用的變量是:

穿過的Twig_Environment#render()

  • 你傳遞的那些第二個參數的,如果你想有一個page變量可用,將"page" => $_GET["page"]添加到render的第二個參數。

    如果您希望獲得超全球可用的完整$_GET,請將"GET" => $_GET添加到第二個參數render

  • +0

    謝謝@Maerlyn 我已經解決了我的問題。 :) – antoniputra

    52

    爲$ _ POST變量使用:

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

    爲$ _GET變量使用:

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

    爲$ _COOKIE變量使用:

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

    爲$ _SESSION變量使用這個:

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

    這是假設你傳遞一個「應用程序」的哈希與這些鍵正確設置。 – Maerlyn

    +2

    @Maerlyn這是symfony解決方案 – Jekis

    +5

    @Jenechka這個問題沒有被標記爲symfony,並且問題中沒有提示使用它。 – Maerlyn

    1

    您無法訪問TWIG中的原始PHP值,因此您必須將所需的任何內容附加到該樹枝對象。

    下面是將$_GET,$_POST$_SESSION附加到樹枝的示例。

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

    現在讓我們假設你有一個名爲username存儲在每個以上($_GET$_POST$_SESSION)值 您現在可以訪問所有這些模板內,如下所示。

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

    希望這有助於