You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Drupal 9.5升级至10.3后首页渲染报错:无效渲染数组键

Drupal 9.5升级到10.3后首页渲染报错:无效的渲染数组键"0"

问题描述

将Drupal从9.5版本升级至10.3版本后,渲染首页时返回错误。已确认当前使用的主题及维护主题均已在core.extensions中配置,谷歌搜索找到的问题与当前情况不符,寻求排查建议。

错误信息

InvalidArgumentException: "0" is an invalid render array key. Value should be an array but got a string. in Drupal\Core\Render\Element::children() (line 97 of core/lib/Drupal/Core/Render/Element.php).

排查建议

  • 检查自定义主题/子主题的Twig模板:重点排查首页相关模板(如page.html.twig、frontpage.html.twig),看是否存在将字符串当作数组遍历,或错误使用数字键"0"对应非数组值的情况。
  • 检查自定义模块/ contrib模块的渲染数组生成:关注首页内容相关模块的钩子实现(如hook_page_build、hook_preprocess_page),确认构建渲染数组时,键"0"是否被赋值为字符串而非数组。
  • 启用Twig调试:在sites/default/services.yml中设置twig.config.debug: true,定位具体报错的Twig模板文件及行号,精准排查问题代码。
  • 临时切换默认主题:切换到Olivero等官方默认主题,若错误消失,说明问题出在当前主题的模板或预处理函数中。
  • 检查contrib模块兼容性:确认所有安装的contrib模块均适配Drupal 10.3,尤其是布局、区块类模块,升级至最新兼容版本。
  • 清除全站缓存:执行drush cr或后台清除所有缓存,确保升级后的配置与代码生效。

堆栈追踪

Drupal\Core\Render\Renderer->doRender() (Line: 248)
Drupal\Core\Render\Renderer->render() (Line: 476)
Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 65)
__TwigTemplate_5a57f8db7ac7ab73ebef615a50c49577->doDisplay() (Line: 393)
Twig\Template->yield() (Line: 349)
Twig\Template->display() (Line: 364)
Twig\Template->render() (Line: 35)
Twig\TemplateWrapper->render() (Line: 33)
twig_render_template() (Line: 348)
Drupal\Core\Theme\ThemeManager->render() (Line: 491)
Drupal\Core\Render\Renderer->doRender() (Line: 248)
Drupal\Core\Render\Renderer->render() (Line: 476)
Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 329)
__TwigTemplate_1c10b7b5f11c822ef981cbc9e3007a19->doDisplay() (Line: 393)
Twig\Template->yield() (Line: 349)
Twig\Template->display() (Line: 364)
Twig\Template->render() (Line: 35)
Twig\TemplateWrapper->render() (Line: 33)
twig_render_template() (Line: 348)
Drupal\Core\Theme\ThemeManager->render() (Line: 491)
Drupal\Core\Render\Renderer->doRender() (Line: 248)
Drupal\Core\Render\Renderer->render() (Line: 476)
Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 93)
__TwigTemplate_fdef4cbc091a25172c88e397d4f1ee92->doDisplay() (Line: 393)
Twig\Template->yield() (Line: 349)
Twig\Template->display() (Line: 364)
Twig\Template->render() (Line: 35)
Twig\TemplateWrapper->render() (Line: 33)
twig_render_template() (Line: 348)
Drupal\Core\Theme\ThemeManager->render() (Line: 491)
Drupal\Core\Render\Renderer->doRender() (Line: 248)
Drupal\Core\Render\Renderer->render() (Line: 158)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 638)
Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 153)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (Line: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray()
call_user_func() (Line: 111)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() (Line: 186)
Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76)
Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53)
Drupal\Core\StackMiddleware\Session->handle() (Line: 48)
Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28)
Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 32)
Drupal\big_pipe\StackMiddleware\ContentLength->handle() (Line: 106)
Drupal\page_cache\StackMiddleware\PageCache->pass() (Line: 85)
Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36)
Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51)
Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 741)
Drupal\Core\DrupalKernel->handle() (Line: 19)

内容的提问来源于stack exchange,提问作者user3481441

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 13:10:56