php - "Twig_Error_Syntax" مع الرسالة "مرشح" تم تقديم "غير معروف"




node.js symfony (2)

المشكلة في التعليمات البرمجية المذكورة أعلاه هي أن فصول التمديد Twig الخاصة بك تمدد فئة ملحق Drupal Twig الداخلية. هذا يكسر تمديدات Twig التي أضافها قلب دروبال وهذا هو السبب في أنك تحصل على الخطأ.

لإصلاح هذا ، يجب عليك أن تجعل امتدادات Twig الخاصة بك تمتد من فئة Twig الداخلية للتمديد Twig. يجب تعريف صفك على النحو التالي:

class MyExtension extends \Twig_Extension {

بعد إجراء هذا التغيير ، يمكنك أيضًا إزالة الوسيطات المعينة لهذه الفئة من MODULE.services.yml

drupal.stackexchange.com/questions/184184/…

أنا أدير drupal 8 والملحن و npm لأداء المهام جولب.

عندما أقوم بتشغيل npm start .. مدير المهام الخاص بي: أحصل على تتبع المكدس التالي:

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

لقد نظرت في تثبيت غصين twig-bridge / symfony عبر الملحن ولكن لا يبدو لي للتخلص من رسالة الخطأ.

هل أنا مجرد خندق باستخدام مرشح "تقديم"؟

التحديث: 14/08/17

لقد واجهت أيضا نفس المشكلة عند محاولة استخدام وظيفة drupal_block المقدمة عبر وحدة twig_tweak دروبال 8.


لم أر هذا في سياق دروبال ، لكن مع العمل مع منصات أخرى تستخدم Twig ، لقد رأيت مشاكل مماثلة تحدث عند حدوث خطأ مبكر في عملية إعداد النظام الأساسي.

التسلسل النموذجي للأحداث هو كالتالي:

  • يبدأ النظام الأساسي بتشغيل تمهيده ؛ تحميل النواة CMS ، إلخ.
  • في مرحلة ما من هذه العملية ، يحدث خطأ.
  • ثم يحاول تقديم صفحة خطأ.
  • ومع ذلك ، تستخدم صفحة الخطأ قالب Twig.
  • عملية بدء التشغيل لم تقم بعد بتحميل جميع ملحقات twig المستخدمة في القالب.
  • Boom ، تحصل على خطأ غطائي يفيد "دالة Twig غير معروفة" بدلاً من رسالة الخطأ الحقيقية.

عندما حصلت على هذا من قبل ، ثبت أنه من الصعب للغاية تشخيص الخطأ الفعلي.

كان الحل "الصحيح" هو تعديل قوالب صفحة الخطأ بحيث تكون صغيرة ولا تستخدم أي وظائف غصين غير أساسي. ولكن إذا كنت تحصل على تحطم مبكر في عملية تحميل الصفحة ، فقد يكون من الصعب فعل ذلك.

في الحالة الأولى ، حلتها عن طريق تصحيح النظام ومحاصرة البيانات التي تم تمريرها إلى القالب. هذا أظهر لي ما الخطأ الحقيقي . حل هذا الخطأ ثم توقف خطأ twig من حدوث وسمحت لي بالدخول إلى النظام.

لا أعرف على وجه اليقين ما إذا كان ما تراه هو نفس الشيء الذي رأيته ، ولكن يبدو الأمر مشابهاً لذلك آمل أن يساعد ذلك.