如何删除页面标题/标题?


10

在Drupal 8中,是否有一种简单的方法来配置页面,以使其页面标题/标题不显示在页面上?

我创建了一个基本页面,其中/ home作为路径别名,而Home作为标题。我将其设置为首页。但是,它在页面顶部,导航栏和面包屑下方显示“主页”。

是否有必要创建“ Bootstrap”主题的子主题,并以某种方式添加自定义CSS?

Answers:


28

Drupal 8将页面标题放在其自己的块中(称为页面标题)。您可以控制该块在块布局页面上显示的时间和位置:/ admin / structure / block


2

您还可以将此模块用于drupal 8 https://www.drupal.org/project/exclude_node_title

  • 该模块处理非常简单的功能,确定从整个节点页面或节点预告片中排除节点标题的方法。它在节点编辑页面上提供了一个复选框,以便于排除。还提供了隐藏特定“内容”类型的所有标题的选项。在管理界面中,您可以选择要隐藏标题的内容类型。

1
非常感谢您推荐此模块,naveen。我一直在寻找简单易用的东西,这就是为什么我选择了杂技演员的答案的原因。但是,您的建议似乎同样有效,并且如果希望根据内容类型隐藏标题,则实际上是首选。我已经在该模块上添加了书签,以防万一。再次非常感谢您的帮助!
kvjava1

我会提醒用户注意此模块;我们已经安装了它一段时间,但是遇到了一些意外的陷阱:1.它没有与视图集成,因此您无法创建一个视图来指示哪些节点的标题被排除在外(drupal.org/ project / exclude_node_title / issues / 3065469)和2。它不存储在修订版中,因此,如果您查看节点的修订历史记录,则无论该节点的标题如何,都将显示其标题,即使该修订版设置为排除节点标题(drupal.org/project/exclude_node_title/issues/3077257)。
user1359 '19

1

您可以完全使用CSS做到这一点。您需要定位要用作主页的那个节点。

现在,Drupal-7正在为每个节点生成特定的类。这样,轻松定位每个单独的节点,我们便能够将特定的CSS应用于该特定的节点。

但是,在Drupal 8中此属性不可用,因此我们需要添加它。请遵循以下步骤。我正在使用Bartik主题显示此内容,因为我对Bootstrap主题不熟悉。您也可以使用Bootstrap主题。它是纯CSS,因此不需要子主题。

1.将功能添加到bartik.theme文件。

if ($node = \Drupal::request()->attributes->get('node')) {
    $variables['attributes']['class'][] = 'page-node-' . $node->id();
  }

在部分中,

function bartik_preprocess_html(&$variables) {   

}

为什么显示这种方式,因为中已经有其他代码function bartik_preprocess_html(&$variables),因此请将此功能添加到最后一行。

清除缓存,

2.获取该节点的CSS

现在,如果您Inspect element在该特定节点上执行此操作。您可以在<body></body>部分中找到该课程page-node-XX

3.转到core / themes / bartik / css / components / page-title.css,并在其中添加以下代码,

.page-node-XX .page-title {
 display: none;
}

清除缓存,

现在,通过这种方式,您可以定位到该特定节点,并且可以执行要应用的所有CSS。

功能代码的信誉: 链接


CodeNext,非常感谢您的详细回答。实际上,通过将以下CSS添加到子主题的styles.css文件中,我可以很快地完成以前需要做的事情:.page-header {display:none; }但是,杂技演员的回答似乎提供了最简单的方法。我也很喜欢您的答案,因为它有助于了解主题在Drupal8中的工作原理。再次感谢!我真的很感激。
kvjava1
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.