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를 수행 할 수 있습니다.
기능 코드의 크레딧 : 링크