Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php ';细枝错误语法';带有消息';“未知”;渲染“;滤波器_Php_Node.js_Symfony_Twig_Drupal 8 - Fatal编程技术网

Php ';细枝错误语法';带有消息';“未知”;渲染“;滤波器

Php ';细枝错误语法';带有消息';“未知”;渲染“;滤波器,php,node.js,symfony,twig,drupal-8,Php,Node.js,Symfony,Twig,Drupal 8,我正在运行Drupal8、composer和npm来执行吞咽任务 当我运行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.t

我正在运行Drupal8、composer和npm来执行吞咽任务

当我运行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
我已经看过通过composer安装twig bridge/symfony twig,但我似乎无法摆脱错误消息

我是否只是使用细枝过滤器“渲染”放弃


更新:14/08/17


在尝试使用drupal 8的twig_tweak模块提供的drupal_block函数时,我也遇到了同样的问题。

上面代码中的问题是twig扩展类正在扩展内部drupal twig扩展类。这破坏了Drupal core添加的细枝扩展,这就是为什么会出现错误

要解决这个问题,您应该使您的细枝扩展扩展细枝内部细枝扩展类。您的类应该这样定义:

class MyExtension extends \Twig_Extension {
进行更改后,还可以从MODULE.services.yml中删除为该类设置的参数


我没有在Drupal环境中看到这一点,但是在使用Twig的其他平台上,我看到在平台设置过程早期出现错误时会出现类似的问题

事件的典型顺序如下所示:

class MyExtension extends \Twig_Extension {
  • 平台开始启动;加载CMS内核等
  • 在这个过程的早期,它会遇到一个错误
  • 然后它尝试呈现一个错误页面
  • 但是,错误页面使用了一个细枝模板
  • 启动进程尚未加载模板中使用的所有细枝扩展
  • 砰的一声,你会得到一个树枝错误,声明“未知树枝功能”,而不是真正的错误消息
当我以前有过这种情况时,事实证明很难诊断出实际的错误是什么

“正确”的解决方案是修改错误页面模板,使其最小化,并且不使用任何非核心细枝函数。但是,如果在页面加载过程的早期出现崩溃,那么实际上很难做到这一点

在第一种情况下,我通过调试系统并捕获传递到模板的数据来解决它。这让我明白了真正的错误是什么。解决该错误后,细枝错误停止发生,并允许我进入系统


我不知道你看到的东西是否和我看到的一样,但听起来很相似,所以我希望这会有所帮助。

似乎
render
是drupal自己添加的
Twig\u过滤器。因此,您需要找出安装中没有该
过滤器的原因。您是否尝试过在Drupal堆栈交换上遵循此问题中概述的步骤?我可能有点晚了,但你试过竹枝模块吗?您可以使用
{bambon_render_block('my_custom_block')}
或使用实体渲染器的系统块
{bambon_render_entity('block','my_theme_messages')}
npm启动
是否运行吞咽任务?如果是这样,请在这里发布Gulpfile。我们可以看看_basic_page.twig的来源吗