Php ';细枝错误语法';带有消息';“未知”;渲染“;滤波器
我正在运行Drupal8、composer和npm来执行吞咽任务 当我运行npm启动时。。我的任务管理器:我得到以下堆栈跟踪: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
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的来源吗