php - ''Twig_Error_Syntax'' con el mensaje ''Unknown'' render ''filter''
node.js symfony (2)
El problema en el código anterior es que su clase de extensión Twig está ampliando la clase de extensión Drupal Twig interna. Eso rompe las extensiones de Twig agregadas por el núcleo de Drupal y es por eso que está obteniendo el error.
Para solucionarlo, debe hacer que las extensiones de Twig amplíen la clase de extensión Twig interna de Twig. Tu clase debería definirse así:
class MyExtension extends /Twig_Extension {
Después de hacer ese cambio, también puede eliminar los argumentos establecidos para esa clase desde el MODULE.services.yml
Estoy ejecutando drupal 8, compositor y npm para realizar tareas gulp.
Cuando ejecuto npm start ... mi administrador de tareas: obtengo el siguiente seguimiento de pila:
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
He analizado la instalación de twig-bridge / symfony twig a través de compositor, pero parece que no puedo deshacerme del mensaje de error.
¿Acabo de abandonar usando el filtro de rama "render"?
Actualización: 14/08/17
También me encontré con el mismo problema al tratar de usar la función drupal_block proporcionada a través del módulo twig_tweak de Drupal 8.
No he visto esto en el contexto de Drupal, pero al trabajar con otras plataformas que usan Twig, he visto problemas similares cuando ocurre un error al principio del proceso de configuración de la plataforma.
La secuencia típica de eventos es así:
- La plataforma comienza a ejecutar su arranque; cargando el núcleo de CMS, etc.
- En algún momento al principio de este proceso, se produce un error.
- Luego intenta mostrar una página de error.
- Sin embargo, la página de error usa una plantilla Twig.
- El proceso de inicio todavía no ha cargado todas las extensiones twig utilizadas en la plantilla.
- Boom, se obtiene un error de ramita que indica "función Twig desconocida" en lugar del mensaje de error real.
Cuando tuve esto antes, ha resultado muy difícil diagnosticar cuál es el error real.
La solución "correcta" ha sido modificar las plantillas de la página de error para que sean mínimas y no utilicen funciones de ramas no centrales. Pero si se produce un bloqueo al principio del proceso de carga de la página, puede ser difícil hacerlo.
En el primer caso, lo resolví depurando el sistema y atrapando qué datos se pasaron a la plantilla. Esto me mostró cuál fue el verdadero error. La resolución de ese error detuvo el error de ramita y me permitió ingresar al sistema.
No estoy seguro si lo que estás viendo es del mismo tipo que lo que estaba viendo, pero suena similar, así que espero que esto ayude.