प्रस्तुत करना मैं एक PHP अनुप्रयोग में जुड़वां templating इंजन intergrating हूँ। विशेष रूप से, मैं रूपों को प्रस्तुत करने के लिए टहन इंजन का उपयोग करना चाहता हूं।ट्विग: कुछ ब्लॉक चुनना और उन्हें
कैसे symfony2 टहनी का उपयोग करता प्रपत्र विजेट प्रस्तुत करना पर एक नज़र था करने के बाद, वे एक बड़े टेम्पलेट फ़ाइल जो इतनी तरह सभी विजेट शामिल है:
(...)
{% block password_widget %}
{% spaceless %}
{% set type = type|default('password') %}
{{ block('field_widget') }}
{% endspaceless %}
{% endblock password_widget %}
{% block hidden_widget %}
{% set type = type|default('hidden') %}
{{ block('field_widget') }}
{% endblock hidden_widget %}
{% block email_widget %}
{% spaceless %}
{% set type = type|default('email') %}
{{ block('field_widget') }}
{% endspaceless %}
{% endblock email_widget %}
{% block test_widget %}
{% spaceless %}
<div>
{{test}}
<div>
{% endspaceless %}
{% endblock test_widget %}
(...)
सवाल मेरे पास है है कैसे कर सकते हैं मैं "हड़पने" इस टेम्पलेट से बाहर ब्लॉक और उन्हें प्रस्तुत करते हैं?
अब तक, मैं टेम्पलेट लोड, और ब्लॉक पाने फोन सभी ब्लॉक पाने के लिए कर रहा हूँ:
twig = new \Twig_Environment($loader, array('cache' => 'cache'));
$template = $twig->loadTemplate('view\form_div_layout.html.twig');
//var_dump($template->getBlocks()); //try getting all blocks
$template->displayBlock('test_widget', array('test' => 'test'));
echo $template->render();
दुर्भाग्य से, मैं इस मामले में सिर्फ 'test_widget' ब्लॉक रेंडर करने के लिए सक्षम नहीं हूँ। टेम्पलेट से 'test_widget' ब्लॉक को पुनर्प्राप्त करने के लिए मुझे क्या करना चाहिए और फिर पूरे फॉर्म को प्रस्तुत करने के लिए इसे एक अलग टेम्पलेट में डालें?
यह मेरे लिए काम कर सकता है, क्या आप साझा कर सकते हैं कि आपने कैसे Iinstantiated किया है, या '$ loader' का उपयोग किया है? – blamb