我需要使用一个模板为所有学期的页面设置主题。我尝试这样做,并创建taxonomy-term.html.twig,清除缓存,但它不起作用。我桅杆做什么?现在我找到了这个(https://drupal.stackexchange.com/questions/217850/how-to-make-page-html-twig-based-on-vocabulary),但它是为每个术语分别设置主题的。我想我需要相同的代码,但所有条款都需要一个文件。
2 回答
Drupal 8 默认使用 Views 模块来呈现分类术语。
要解决这个问题,只需禁用名为Taxonomy term ( machine name: taxonomy_term) 的视图。
一旦禁用,Drupal 8 将使用taxonomy-term.html.twig.
您可能将taxonomy-term.html.twig文件放在 Drupal 不查找它的目录中。查看https://www.drupal.org/docs/8/theming-drupal-8/drupal-8-theme-folder-structure以了解有关允许位置的更多信息。
如果启用 twig 调试,您可以看到 Drupal 加载了哪个文件。您可以关注此页面:https ://befused.com/drupal/twig-debug 。实质上,启用调试后,通过浏览器查看站点的源代码。Twig 已经添加了关于它查找和加载的文件的 HTML 注释。
为了使主题更容易,我强烈建议停用渲染缓存。来自https://www.drupal.org/node/1903374:
要禁用渲染缓存,请将以下几行添加到:settings.php,注意不要将其添加到您的生产站点或 settings.local.php,首先取消注释 settings.php 底部的行。这些行是:
$settings['container_yamls'][] = DRUPAL_ROOT . '/sites/development.services.yml';
$settings['cache']['bins']['render'] = 'cache.backend.null';
$settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null';