Jak usunąć tytuł / nagłówek strony?

10

Czy w Drupal 8 istnieje prosty sposób na skonfigurowanie strony, aby jej nagłówek / tytuł nie był wyświetlany na stronie?

Utworzyłem stronę podstawową, z / home jako alias ścieżki i Home jako tytuł. Ustawiam go jako pierwszą stronę. Jednak wyświetla „Dom” u góry strony, tuż pod paskiem nawigacyjnym i okruszkami.

Czy konieczne jest utworzenie podtematu motywu „Bootstrap” i dodanie niestandardowego CSS?

kvjava1
źródło

Odpowiedzi:

28

Drupal 8 umieszcza tytuł strony w swoim własnym bloku (zwanym tytułem strony). Możesz kontrolować, kiedy i gdzie ten blok ma być wyświetlany na stronie układu bloku: / admin / structure / block

akrobata
źródło
2

możesz także użyć tego modułu dla drupal 8 https://www.drupal.org/project/exclude_node_title

  • Ten moduł obsługuje bardzo prostą funkcjonalność, decyduj o tym, aby wykluczyć tytuł węzła z pełnej strony węzła lub zwiastuna węzła. Zapewnia pole wyboru na stronach edycji węzłów dla łatwiejszego wykluczenia. Zapewnia również opcję ukrywania wszystkich tytułów określonego typu zawartości. W interfejsie administracyjnym możesz wybrać typ zawartości, dla którego chcesz ukryć tytuł.
Naveen
źródło
1
Bardzo dziękuję za polecenie tego modułu, naveen. Szukałem czegoś prostego, gotowego do użycia, dlatego wybrałem odpowiedź akrosmana. Jednak twoja sugestia wydaje się działać równie dobrze i jest właściwie preferowana, jeśli chcesz ukryć tytuł na podstawie typu zawartości. Zrobiłem zakładkę do tego modułu na wypadek, gdyby mi się to przydarzyło. Jeszcze raz bardzo dziękuję za pomoc!
kvjava1
Ostrzegam użytkowników przed tym modułem; zainstalowaliśmy go i używaliśmy go przez jakiś czas, ale natknęliśmy się na kilka niespodzianek: 1. Nie jest zintegrowany z widokami, więc nie możesz stworzyć widoku, który wskazuje, które węzły mają wykluczone ich tytuły ( drupal.org/ project / exclude_node_title / Issues / 3065469 ) i 2. nie jest przechowywany w wersjach, więc jeśli patrzysz na historię wersji węzła, zostanie on wyświetlony bez względu na wszystko, nawet jeśli ta wersja została ustawiona na wyklucz tytuł węzła ( drupal.org/project/exclude_node_title/issues/3077257 ).
user1359,
1

Możesz to zrobić całkowicie za pomocą CSS. Musisz wybrać ten węzeł, którego używasz jako strony HOME.

Teraz Drupal-7 generował określoną klasę dla każdego węzła. W ten sposób łatwo było dotrzeć do każdego węzła i mogliśmy zastosować konkretny CSS do tego konkretnego węzła.

Ale w Drupal 8 ta właściwość nie jest dostępna, dlatego musimy to dodać. wykonaj następujące kroki. Pokazuję to za pomocą motywu Bartik, ponieważ nie mam pojęcia o motywie Bootstrap. Możesz to zrobić również z motywem bootstrap. Jest to czysty CSS, więc nie jest konieczne pod-tematyczne.

1. Dodaj funkcję do pliku bartik.theme.

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

w sekcji

function bartik_preprocess_html(&$variables) {   

}

Dlaczego pokazuję w ten sposób, ponieważ są już inne kody function bartik_preprocess_html(&$variables), więc dodaj tę funkcję jako ostatni wiersz.

Wyczyść pamięć podręczną,

2. Pobierz CSS dla tego węzła

Teraz, jeśli zrobisz to Inspect elementw tym konkretnym węźle. Możesz znaleźć klasę w <body></body>sekcji jako page-node-XX.

3. Przejdź do core / themes / bartik / css / components / page-title.css i dodaj w tym następujący kod,

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

Wyczyść pamięć podręczną,

Teraz w ten sposób możesz celować w ten konkretny węzeł i możesz robić cokolwiek, co chcesz zastosować.

Kredyt na kod funkcji: Link

CodeNext
źródło
CodeNext, dziękuję bardzo za szczegółową odpowiedź. W rzeczywistości udało mi się osiągnąć to, co musiałem zrobić wcześniej, jako szybki hack, dodając następujący CSS do pliku styles.css mojego podtematu: .page-header {display: none; } Odpowiedź acrosmana wydawała się jednak oferować najprostsze podejście. Podobała mi się również twoja odpowiedź, ponieważ pomaga zrozumieć wewnętrzne zasady działania tematów w Drupal8. Dzięki jeszcze raz! Bardzo to doceniam.
kvjava1,