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


17

Drupal 7을 처음 사용하고 Frontpage의 기본값 main content block을 Views에서 생성 된 동등한 블록 으로 바꾸려고합니다 (블록에서 더 많은 제어권을 얻음).

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

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

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

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


나는 정확히 같은 문제가 있습니다.
— JW.

이 질문에 대답 할만한 명성이 없습니다. 그러나 나는 2 개의 '목록을 블록으로보기'를 원했고 다른 내용은 없었기 때문에 여기에 대안 솔루션이 있습니다 : drupal.org/node/2089911#comment-7868495 (목록 또는 목록을 블록으로 표시)
— JW.

답변:


24

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

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

이 방법을 수행 할 때, 프런트 페이지의 주요 내용이됩니다 될 전망.


아, 나는 당신의 제안을 시도했지만 완벽하게 작동하고 지금은 매우 분명해 보입니다. 고마워 마크.
— irishbuzz

천만에요, 도와 드리겠습니다.
— marcvangend

감사합니다, 여기에 가장 깨끗한 솔루션입니다! 다른 사람들은 핵심 코드에서 문제를 다루거나 스타일 시트를 설정하는 것에 대해 이야기했습니다. 더 쉬운 방법이 있어야한다는 것을 알았습니다.
— Organiccat

1
기술적으로 @MarioAwad입니다. Drupal 첫 페이지 설정이 작동하는 방식입니다. 그러나 모든 모듈이 URL을 올바르게 빌드하고 url()및 l()기능을 사용하여 링크 하면 Drupal은이를 처리하여 www.example.com/path/to/view가 제공 될 때마다 www.example.com에 연결합니다. 원하는 경우 누군가가 명시 적으로 전체 경로를 요청하는 경우 전역 리디렉션 모듈이 첫 페이지로 리디렉션됩니다.
— marcvangend

1
@marcvangend는 이중 경로 문제를 해결하는 추가 설명과 Global Redirect에 대한 포인터에 감사드립니다. 건배.
— Mario Awad

2

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

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

홈페이지 기본 컨텐츠 제거

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

그게 다야



0

일반적인 접근 방식은 아니지만 보기를 첫 페이지에 기본 컨텐츠 블록으로 포함 할 수 있습니다. 뷰는 윙크로 어느 쪽이든 할 수있는 유연성을 가지고 있습니다. 시도했던 블록 제거 단계를 잘못 구성했거나 동일한 결과를 얻기 위해 캐시 를 지우는 것만으로 의심 됩니다.

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


Drupal의 버그라고 생각합니다. 나도 '블록 제거 단계'를 시도했지만 단순히 작동하지 않았기 때문입니다.
— JW.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.