दिलचस्प पोस्ट
मैं केवल एक Git रिपॉजिटरी की उपनिर्देशिका कैसे क्लोन करता हूं? मैं कैनवास सामग्री को एक छवि में कैसे परिवर्तित कर सकता / सकती हूं? "श्रेणी से बाहर निकलें" अपवाद क्या है, और मैं इसे कैसे ठीक कर सकता हूं? jquery json स्ट्रिंग करने के लिए? java.net.SocketException: कनेक्शन रीसेट करें यह निर्धारित करने के लिए कि विधि कहां है, क्या स्थापित घटक एक्लिप्स में 'लांच समूह' प्रदान करता है? IE7 मोड में IE10 रेंडर करता है मानक मोड को कैसे लागू करें? स्क्रिप्ट पथ प्राप्त करें स्पार्क जॉब के लिए जार जोड़ें – स्पार्क-सबमिट करें मैं "हां", "नहीं" विकल्प और डायलॉग रिपोर्ट के साथ एक संदेश बॉक्स कैसे बनाऊं? Haswell / Skylake पर आंशिक रजिस्टरों को कैसे ठीक करना है? आरएसी पर असहमति रखने के लिए एएल को लगता है, और एएच असंगत है कैसे PHP के साथ एक foreach लूप में लाइनों पंगा लेना क्या साइफर निष्पादन योजना दिखाने का कोई तरीका है? संबंध के आधार पर एक रिकॉर्ड के विरुद्ध कई रिकॉर्ड कैसे प्राप्त करें?

चहचहाना चर में चहचहाना चर

मेरे पास ट्वेग चर html है इसे टॉगल टेम्पलेट में दिखाने के लिए मैं {{html}} करता हूं। उस चर को <div>{{region_top}}</div><div>{{region_center}}</div> region_* चर भी है जब मेरे html वैरिएबल को पार्स करते हैं लेकिन इनर वैरिएबल (क्षेत्रों) को पार्स नहीं करते मुझे क्या करना चाहिए?

Solutions Collecting From Web of "चहचहाना चर में चहचहाना चर"

मेरे पास ट्वेग चर html है इसे टॉगल टेम्पलेट में दिखाने के लिए मैं {{html}} करता हूं। {{Region_top}} {{region_center}} की तरह यह चर दिखता है region_ * चर भी है जब मेरे एचटीएमएल वैर्यू को पार्स करते हैं, तो वह भीतरी चर (क्षेत्रों) को पार्स नहीं करता था मुझे क्या करना चाहिए?

ट्वीग आपकी स्ट्रिंग्स को एक शाब्दिक स्ट्रिंग के रूप में लेता है, जिसका अर्थ है कि आप चर की सामग्री देखेंगे, बच गए यदि आप चाहते हैं कि यह {{region_top}} को भी प्रदर्शित करने में सक्षम हो, तो मैं इस तरह से कुछ सुझाऊंगा:

 {{html|replace({'{{region_top}}': region_top, '{{region_center}}': region_center})}} 

यदि आपके एचटीएमएल वैरिएबल की सामग्री भी गतिशील है (जिसका अर्थ है कि इसमें सिर्फ उन दो चर से ज्यादा हो सकते हैं), मैं एक ट्रिबग प्लगइन लिखूंगा जो कि आप क्या कर सकते हैं। लेखन प्लगइन्स करना बहुत आसान है

संपादित करें : यहां विस्तार है जो मैंने अभी समाप्त कर लिया है I

2 संपादित करें : एक्सटेंशन अब स्ट्रिंग को रेंडर करने के लिए पर्यावरण का उपयोग करता है, इसलिए यह चर की जगह के बजाय स्ट्रिंग का मूल्यांकन करता है इसका मतलब है कि आपकी चर में टेम्पलेट को कुछ भी शामिल किया जा सकता है, और यह स्वतः ही ट्वेग द्वारा रेंडर करेगा और बच जाएगा। मैं गज़ब हूँ।

 <?php /** * A twig extension that will add an "evaluate" filter, for dynamic evaluation. */ class EvaluateExtension extends \Twig_Extension { /** * Attaches the innervars filter to the Twig Environment. * * @return array */ public function getFilters( ) { return array( 'evaluate' => new \Twig_Filter_Method( $this, 'evaluate', array( 'needs_environment' => true, 'needs_context' => true, 'is_safe' => array( 'evaluate' => true ) )) ); } /** * This function will evaluate $string through the $environment, and return its results. * * @param array $context * @param string $string */ public function evaluate( \Twig_Environment $environment, $context, $string ) { $loader = $environment->getLoader( ); $parsed = $this->parseString( $environment, $context, $string ); $environment->setLoader( $loader ); return $parsed; } /** * Sets the parser for the environment to Twig_Loader_String, and parsed the string $string. * * @param \Twig_Environment $environment * @param array $context * @param string $string * @return string */ protected function parseString( \Twig_Environment $environment, $context, $string ) { $environment->setLoader( new \Twig_Loader_String( ) ); return $environment->render( $string, $context ); } /** * Returns the name of this extension. * * @return string */ public function getName( ) { return 'evaluate'; } } 

उदाहरण उपयोग:

 $twig_environment->addExtension( new EvaluateExtension( ) ); 

टेम्पलेट में:

 {% set var = 'inner variable' %} {{'this is a string with an {{var}}'|evaluate}} 

http://twig.sensiolabs.org/doc/functions/template_from_string.html देखें

ऐसा लगता है कि यह अक्सर याद किया जाता है क्योंकि ज्यादातर लोग सोचते हैं (और खोजते हैं) "eval" जब वर्तमान भाषा में मूल्यांकन करने के लिए एक फिल्टर / फ़ंक्शन का मूल्यांकन करते हैं तो वे मसौदा तैयार कर रहे हैं। स्ट्रिंग से स्ट्रिंग पहली खोज क्वेरी नहीं है मन।

एक विकल्प अपने टेम्पलेट को तार के रूप में प्रस्तुत करना है आप ऐसा कर सकते हैं:

 $env = new \Twig_Environment(new \Twig_Loader_String()); echo $env->render( "Hello {{ name }}", array("name" => "World") ); 

मैं यह तय करने के लिए छोड़ दूँगा कि यह काम करने के लिए आपका कोड कितना सही होगा, लेकिन ऐसा कुछ भी हो सकता है: 1) आंतरिक टेम्प्लेट टेक्स्ट को प्राप्त करें जिसमें वे बदलाव शामिल नहीं हैं जिन्हें बदला नहीं जा रहा है। 2) उस आंतरिक टेम्पलेट टेक्स्ट को $ HTML चर में प्रस्तुत करना आपको आवश्यक किसी भी वार्स में पास करना सुनिश्चित करें 3) अपने मूल टेम्पलेट को प्रस्तुत करें जिसमें {{html}} है। वार्स सरणी में 'html' => $ html में पास करना सुनिश्चित करें

आप किसी सरणी या ऑब्जेक्ट को भी देख सकते हैं, और फिर टहलना विशेषता () विधि का उपयोग कर सकते हैं: http://twig.sensiolabs.org/doc/functions/attribute.html

 {% if attribute(array, key) is defined %} {{ attribute(array, key) }} {% endif %}