it-swarm-ko.tech

첫 페이지에서 기본 컨텐츠 블록 제거

Drupal 7을 처음 사용하고 있으며 Frontpage의 기본 main content block를 Views에서 생성 된 동등한 블록으로 바꾸려고합니다. .

뷰에서 새 첫 페이지 블록을 성공적으로 생성하여 콘텐츠 섹션에 추가했지만 이제 홈 페이지에 원본 뷰와 새 뷰 블록이 모두 표시됩니다.

main content block에 표시되지 않도록 구성하여 <front>를 제거하려는 시도가 작동하지 않으며 현재 찾은 유일한 해결 방법은 다음 CSS입니다.

.front #block-system-main {
  display:none;
}

덜 해킹 같은 솔루션을 선호합니다. 누구든지 제안 할 수 있습니까?

16
irishbuzz

미안하지만 그렇게하는 방법은 아닙니다.

뷰에서 블록 표시를 작성하는 대신 페이지 표시를 작성하십시오. 보기 페이지의 경로 (예 : "홈")를 선택하고보기를 저장하십시오. 다음으로/admin/config/system/site-information으로 이동하여 'Default front page'(현재 "node"라고 함)의 값을보기에 선택한 경로 ( "home")로 변경하십시오.

이 접근 방식을 따르면 프론트 페이지의 기본 컨텐츠가보기 가됩니다 .

24
marcvangend

우선 기본 홈 컨텐츠를 제거해야합니다.이를 수행하는 방법은 다음과 같습니다.

<?php
function MYTHEME_OR_MODULE_preprocess_page(&$variables) {
  if ($variables['is_front']) {
    $variables['title'] = '';
    unset($variables['page']['content']['system_main']['default_message']);
  }
}

홈페이지 기본 콘텐츠 제거

그런 다음 원하는 블록보기를 작성하십시오. 그런 다음 블록으로 이동하십시오. "컨텐츠"영역에이 블록보기를 표시하십시오.이 컨텐츠를 "다음 페이지 만"으로 제한하고 <front>

그게 다야


2
Tareq Assaf

일반적인 접근 방식은 아니지만 can 뷰를 첫 페이지에 기본 컨텐츠 블록으로 포함합니다. 뷰는 융통성있게 윙크를 할 수있는 유연성을 가지고 있습니다. 나는 당신이 시도했던 블록 제거 단계를 잘못 구성했다고 생각합니다 ... 동일한 결과를 얻으려면 캐시를 지우십시오 해야했습니다.

받아 들여진 대답에 공평하기 위해서는 그 접근 방식이 일반적인 방법입니다. 최종 결과는 동일합니다.

0
stefgosselin