페이지 제목 / 헤더를 어떻게 제거합니까?


10

Drupal 8에서 페이지 헤더 / 제목이 페이지에 표시되지 않도록 페이지를 구성하는 쉬운 방법이 있습니까?

/ home을 경로 별칭으로, Home 을 제목 으로 사용하여 기본 페이지를 만들었습니다 . 프론트 페이지로 설정했습니다. 그러나 페이지 상단, 탐색 표시 줄 및 이동 경로 바로 아래에 '홈'이 표시됩니다.

'Bootstrap'테마의 하위 테마를 작성하고 어떻게 든 사용자 정의 CSS를 추가해야합니까?

답변:


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

1

CSS를 사용하여이 작업을 완전히 수행 할 수 있습니다. HOME 페이지로 사용중인 노드를 대상으로해야합니다.

이제 Drupal-7은 각 노드에 대해 특정 클래스를 생성했습니다. 이 방법으로 각 개별 노드를 쉽게 타겟팅 할 수 있었고 특정 CSS를 해당 특정 노드에 적용 할 수있었습니다.

그러나 Drupal 8에서는이 속성을 사용할 수 없으므로이 속성을 추가해야합니다. 다음 단계를 따르십시오. Bootstrap 테마에 익숙하지 않기 때문에 Bartik 테마를 사용하여 이것을 보여줍니다. 부트 스트랩 테마로도 할 수 있습니다. 순수한 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, 자세한 답변 감사합니다. 실제로 하위 테마의 styles.css 파일에 다음 CSS를 추가하여 빠른 해킹으로 이전에 필요한 작업을 수행 할 수있었습니다. .page-header {display : none; } 그러나 acrosman의 답변은 가장 간단한 접근법을 제공하는 것으로 보입니다. Drupal8에서 테마가 어떻게 작동하는지 내부를 이해하는 데 도움이되므로 귀하의 답변도 마음에 들었습니다. 다시 감사합니다! 정말 감사.
kvjava1
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.