2017-07-17 4 views
21

मैं ड्रल्प कार्यों को करने के लिए ड्रूपल 8, संगीतकार और एनपीएम चला रहा हूं।'Twig_Error_Syntax' संदेश 'अज्ञात "प्रस्तुत करें" फ़िल्टर

जब मैं चलाने NPM शुरू .. मेरे कार्य प्रबंधक: मैं निम्नलिखित स्टैक ट्रेस मिलती है:

Fatal error: Uncaught exception 'Twig_Error_Syntax' with message 'Unknown "render" filter.' in /web/project/web/themes/emulsify/components/_patterns/04-templates/basic-page/_basic_page.twig:26 
Stack trace: 
#0 /web/project/web/themes/emulsify/pattern-lab/vendor/twig/twig/lib/Twig/ExpressionParser.php(481): Twig_ExpressionParser->getFilterNodeClass('render', 26) 
#1 /web/project/web/themes/project_theme/pattern-lab/vendor/twig/twig/lib/Twig/ExpressionParser.php(466): Twig_ExpressionParser->parseFilterExpressionRaw(Object(Twig_Node_Expression_Name)) 
#2 /web/project/web/themes/project_theme/pattern-lab/vendor/twig/twig/lib/Twig/ExpressionParser.php(320): Twig_ExpressionParser->parseFilterExpression(Object(Twig_Node_Expression_Name)) 
#3 /web/project/web/themes/project_theme/pattern-lab/vendor/twig/twig/lib/Twig/ExpressionParser.php(212): Twig_ExpressionParser->parsePostfixExpression(Object(Twig_Node_Expression_Name)) 
#4 /web/project in /web/project/web/themes/project_theme/components/_patterns/04-templates/basic-page/_basic_page.twig on line 26 

मैं संगीतकार के माध्यम से टहनी-पुल/सिम्फोनी टहनी को स्थापित करने से देखा है, लेकिन मैं नहीं कर पा रहे त्रुटि संदेश से छुटकारा पाएं।

क्या मैं सिर्फ टवीग फ़िल्टर "रेंडर" का उपयोग करके खा रहा हूं?


अद्यतन: 14/08/17

मैं भी जब Drupal 8 के twig_tweak मॉड्यूल के माध्यम से प्रदान drupal_block फ़ंक्शन का उपयोग करने की कोशिश कर एक ही समस्या में भाग गए हैं।

+1

लगता है 'रेंडर' एक 'Twig_Filter' ड्रूपल द्वारा जोड़ा गया है। इसलिए आपको यह पता लगाना होगा कि आपके इंस्टॉल में 'फ़िल्टर' क्यों उपलब्ध नहीं है। [स्रोत] (https://www.drupal.org/node/2448219) – DarkBee

+3

क्या आपने ड्रूपल स्टैक एक्सचेंज पर इस प्रश्न में उल्लिखित चरणों का पालन करने का प्रयास किया है? https://drupal.stackexchange.com/questions/184184/error-when-creating-a-custom-twig-filter – mickburkejnr

+0

मुझे शायद देर हो चुकी है लेकिन क्या आपने मॉड्यूल बांस ट्विग को आजमाया है? आप {{{bamboo_render_block ('my_custom_block')}} या सिस्टम रेंडरर {{bamboo_render_entity ('block', 'my_theme_messages')}} का उपयोग कर सिस्टम ब्लॉक का उपयोग करके अपना स्वयं का ब्लॉक प्रस्तुत कर सकते हैं। https://www.drupal.org/project/bamboo_twig –

उत्तर

0

उपरोक्त कोड में समस्या यह है कि आपकी ट्विग एक्सटेंशन क्लास आंतरिक ड्रूपल ट्विग एक्सटेंशन क्लास का विस्तार कर रही है। इससे ड्रूपल कोर द्वारा जोड़े गए ट्विग एक्सटेंशन को तोड़ दिया जाता है और यही कारण है कि आपको त्रुटि मिल रही है।

इसे ठीक करने के लिए, आपको अपने Twig एक्सटेंशन को Twigs आंतरिक Twig एक्सटेंशन क्लास का विस्तार करना चाहिए। आपका वर्ग इस तरह परिभाषित किया जाना चाहिए:

class MyExtension extends \Twig_Extension { 

कि परिवर्तन करने के बाद, आप भी MODULE.services.yml

link

0

मैं नहीं देखा है से उस वर्ग के लिए निर्धारित तर्क को हटा सकते हैं यह Drupal संदर्भ में, लेकिन Twig का उपयोग करने वाले अन्य प्लेटफार्मों के साथ काम करते हुए, मैंने प्लेटफॉर्म सेटअप प्रक्रिया में एक त्रुटि उत्पन्न होने पर समान समस्याएं देखी हैं।

घटनाओं की विशिष्ट अनुक्रम इस तरह है:

  • मंच अपनी bootup चल रहा शुरू होता है; सीएमएस कोर लोड करना, आदि
  • इस प्रक्रिया की शुरुआत में किसी बिंदु पर, यह एक त्रुटि को हिट करता है।
  • फिर यह एक त्रुटि पृष्ठ प्रस्तुत करने का प्रयास करता है।
  • हालांकि, त्रुटि पृष्ठ एक ट्विग टेम्पलेट का उपयोग करता है।
  • स्टार्टअप प्रक्रिया ने अभी तक टेम्पलेट में उपयोग किए गए सभी ट्विग एक्सटेंशन को लोड नहीं किया है।
  • बूम, आपको वास्तविक त्रुटि संदेश के बजाय "अज्ञात ट्विग फ़ंक्शन" बताते हुए एक गड़बड़ त्रुटि मिलती है।

जब मैंने पहले यह किया था, तो वास्तविक त्रुटि क्या है इसका निदान करने के लिए यह बहुत कठिन साबित हुआ है।

त्रुटि पृष्ठ टेम्पलेट्स को संशोधित करने के लिए "सही" समाधान किया गया है ताकि वे न्यूनतम हों और किसी भी गैर-कोर ट्विग फ़ंक्शंस का उपयोग न करें। लेकिन अगर आपको पेज लोड प्रक्रिया में जल्दी ही दुर्घटना हो रही है तो वास्तव में ऐसा करना मुश्किल हो सकता है।

पहले मामले में, मैंने सिस्टम को डीबग करके और टेम्पलेट में कौन सा डेटा पारित किया था, इसे फंसाने के द्वारा इसे हल किया। यह मुझे दिखाता है कि वास्तविक त्रुटि क्या थी। उस त्रुटि को हल करने के बाद twig त्रुटि को होने से रोक दिया और मुझे सिस्टम में आने की अनुमति दी।

मुझे यकीन नहीं है कि आप जो देख रहे हैं वह वही चीज़ है जो मैं देख रहा था, लेकिन यह समान लगता है, इसलिए मुझे आशा है कि इससे मदद मिलेगी।

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