दिलचस्प पोस्ट
C ++ एकाधिक भाग फ़ंक्शन कॉल अस्पष्टता एनजी-ट्रांस्काइक्चर क्या है? ITextSharp का उपयोग करते हुए पीडीएफ फार्म डेटा कैसे पढ़ा जाए? LINQ को एसक्यूएल अपवाद: इसमें लैनक्यू में एसक्यूएल कार्यान्वयन क्वेरी प्रचालकों को छोड़कर स्थानीय अनुक्रम का इस्तेमाल नहीं किया जा सकता है MySQL 5.6 में रूट पासवर्ड को रीसेट करना एक्लिप्स आरसीपी में पॉप-अप मेनू योगदान कैसे निकालें मेवेन परियोजना को ग्रहण में आयात करना Google क्रोम में फ़ेविकॉन नहीं दिख रहा सी # में मनमाने ढंग से शुरुआती सूचकांक पर एक सरणी शुरू करना इटरेटर (या किसी अन्य विशेषता) को वापस करने का सही तरीका क्या है? अंतर और जब getApplication () का उपयोग करें, getApplicationContext (), getBaseContext () और someClass.this कैसे "यह" कीवर्ड फ़ंक्शन के भीतर काम करता है? Sqlite: CURRENT_TIMESTAMP जीएमटी में है, न कि मशीन का समय क्षेत्र मैं जावास्क्रिप्ट में एक स्ट्रिंग में अक्षर कैसे फेर सकता हूँ? पूर्ववत इंजन के लिए डिजाइन पैटर्न

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

मेरे पास ट्वेग चर 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 %}