如何在Drupal 8中创建自定义404页面?
我已在后台创建了一个名为“404”的新页面(内容)(节点编号100)。我已将其设置为404默认页面,方法是在“配置”>“基本网站”设置中进行。
我已在后台创建了一个名为“404”的新页面(内容)(节点编号100)。我已将其设置为404默认页面,方法是在“配置”>“基本网站”设置中进行。
它能够与我在后台设置的内容一起工作。
但现在我想让它可通过编程进行编辑,但我不知道如何创建覆盖文件。
我尝试创建mytheme/templates/html--node--100.html.twig
,并且仅当请求直接为该URL(node/100
)时才有效,但是当您在URL上尝试随机的slug并且drupal必须解析它时,它就无法工作。 当这种情况发生时,drupal会向我提供后台中404页面
的内容,而不是我刚刚创建的文件中的内容。
我尝试了几个文件,例如page--404-html.twig
,html--node--404.html.twig
,html--page--404.html.twig
,但都没有效果。
有人能帮我吗?
8.4.4
),\Drupal::routeMatch()->getRouteName()
返回"entity.node.canonical"
。在这种情况下如何识别和更改404页面?请提供任何指针。 - fritzmgHOOK_theme_suggestions_page_alter(array &$suggestions, array $variables)
,否则会覆盖$suggestions
数组。这可能是你不想要的,例如使用Context模块提供页面模板时。 - Raphael Larrinaga