페이지 제목 / 헤더를 어떻게 제거합니까? home을 경로 별칭으로, Home 을 제목 으로

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

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

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



답변

Drupal 8은 페이지 제목을 자체 블록 (페이지 제목이라고 함)에 배치합니다. 블록 레이아웃 페이지에서 해당 블록이 표시되는시기와 위치를 제어 할 수 있습니다. / admin / structure / block


답변

drupal 8 https://www.drupal.org/project/exclude_node_title 에이 모듈을 사용할 수도 있습니다.

  • 이 모듈은 매우 간단한 기능을 처리하고 전체 노드 페이지 또는 노드 티저에서 노드 제목을 제외 할 항목을 결정합니다. 쉽게 제외 할 수 있도록 노드 편집 페이지에 확인란을 제공합니다. 특정 컨텐츠 유형의 모든 제목을 숨길 수있는 옵션도 제공합니다. 관리 인터페이스에서 제목을 숨길 컨텐츠 유형을 선택할 수 있습니다.

답변

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를 수행 할 수 있습니다.

기능 코드의 크레딧 : 링크