2013-10-23 3 views
10

का उपयोग कर रहा कोशिश की थी इस तरह कार्य करें:

{{ $_GET['page'] }} 

लेकिन है कि अभी भी काम नहीं किया।

उत्तर

6

केवल चर टहनी में उपलब्ध हैं:

फोन करके Twig_Environment#render()

  • जिन्हें आप पारित की दूसरा पैरामीटर के माध्यम से पारित यदि आप एक नहीं रखना चाहती हैं page परिवर्तनीय उपलब्ध, render के दूसरे पैरामीटर में जोड़ें।

    यदि आप पूरा $_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

    @Mererlyn यह सिम्फनी समाधान – Jekis

    +5

    @ जेनेचका प्रश्न को सिम्फनी टैग नहीं किया गया है, और प्रश्न में कुछ भी इसका उपयोग करने का सुझाव नहीं देता है। – 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); 
    

    अब अब आप अपने टेम्पलेट के अंदर इन सभी का उपयोग कर सकते इस प्रकार मान लें कि आपके ऊपर ($_GET, $_POST और $_SESSION) में से प्रत्येक में संग्रहीत एक मूल्य username कहा जाता है की सुविधा देता है।

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

    आशा इस मदद करता है

    संबंधित मुद्दे