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?

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


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ł.

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, 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,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.