我知道网上有一些关于如何做到这一点的教程,但由于某种原因,我没有工作。
我想在" Theme Hook:Page"上添加一个文件主题建议。具有内容类型名称的模板级别(这样我可以让此内容类型的所有项目都使用此模板)。
因此,我将此添加到我的MYTHEME.theme.php
文件中:
function MYTHEME_theme_suggestions_page_alter(array &$suggestions, array $variables) {
if ($node = \Drupal::request()->attributes->get('node')) {
array_splice($suggestions, 1, 0, 'page__node__' . $node->getType());
}
}
所以你会期望以下输出:
我已经尝试清除缓存了。我使用的是Drupal 8.1
我在这里缺少什么?
答案 0 :(得分:1)
只需将此文件添加到主题文件夹node--typeName.html.twig
不需要任何功能。现在您的内容类型应使用此模板
答案 1 :(得分:0)
我能够通过以下代码实现此目的,这似乎与您的代码
相同if ($node = \Drupal::routeMatch()->getParameter('node')) {
$suggestions[] = 'page__node__'.$node->bundle();
}
答案 2 :(得分:0)
我的错误不是功能,而是文件名。我的文件名是MYTHEME.theme.php
,但应该是MYTHEME.theme
。
这就是代码不起作用的原因。