지역이나 추가 콘텐츠가없는 페이지가있는 모듈에서 작업하고 있습니다. 일종의 "기다려주십시오"페이지.
어떻게하면 모든 추가 콘텐츠를 지울 수 있습니까 (지역 메뉴 ... 등)? 나는 패널이 능력을 가지고 있지만 그것을 사용하는 미리보기를 찾을 수 없다 생각합니다.
다른 한가지 모듈이 특별한 사용자 정의 페이지를 지정할 수 있습니까? 예를 들어 유지 관리 페이지를 좋아합니까?drupal 7 페이지에서 영역을 프로그래밍 방식으로 비활성화하는 방법은 무엇입니까?
답변
영역을 숨기려는 페이지에 대해 특별히 추가 page.tpl.php를 만들 수 있습니다. 명명 규칙은 노드에 대한 명명 규칙과 유사합니다.
url example.com/content/contact가있는 페이지가 있다고 가정 해 보겠습니다. page-content-contact.tpl.php라는 템플릿이 해당 페이지와 그 URL로 시작하는 모든 페이지, 즉 example.com/content/contact/staff 페이지도 해당 템플릿을 사용할 것입니다 (제 생각).
body 요소의 클래스에서 템플릿의 이름을 지정할 수있는 단서를 확인하십시오. 대부분의 테마에서이를 인쇄 할 것입니다. 위의 예에서 body 요소에는 page-content-contact 클래스가 포함됩니다.
내가 생각할 수있는 것은 당신이 말하는 "페이지"에서 당신이 말하는 지, 지역/메뉴를 인쇄하지 않거나 다른 템플릿을 사용하는지 확인하기 위해 page.tpl.php 파일에 체크를 쓰는 것뿐입니다. http://drupal.org/node/223440
감사 Thor, 테마 devel! 나는 내가 할 수있는 것을보기 위해 그것을 사용하는 것을 생각했다. – redben
page.tpl.php 방법은 유연하지 않습니다. 프리젠 테이션 로직을 기반으로합니다. 비즈니스 로직 솔루션에 hook_page_alter()를 사용해야합니다. 예 :
또한 매우 powefull Context module을 봅니다.
/**
* Implements hook_block_list_alter()
*
* Hides the right sidebar on some pages.
*/
function THEME_NAME_block_list_alter(&$blocks) {
// This condition could be more interesting.
if (current_path() !== 'node/add/yourcontenttype') {
return;
}
// Go through all blocks, and hide those in the 'sidebar_second' region.
foreach ($blocks as $i => $block) {
if ('sidebar_second' === $block->region) {
// Hide this block.
unset($blocks[$i]);
}
}
}
참고 :이 전에 블록을 렌더링하고 싶은 경우
이것은 나를 위해 일했으나 이것이 가장 좋은 방법이라고 생각합니까? 사이드 바를 사용하지 않는 커스텀 테마가 더 좋을 것 같지만 작동시키지 못했습니다. – cmcnulty
일반적으로 이것은 좋은 방법처럼 보입니다. 그러나이 훅에서도 블록이 이미 렌더링되었음을 알았습니다. 블록을 렌더링하는 시간이 낭비됩니다! – donquixote
나는이 해결책을 많이 좋아한다. 요청 상태를 확인하여 404 페이지의 영역을 제거하는 데 사용했습니다. 404 페이지 URL은 아무거나 될 수 있기 때문에 Drupal의 블록 설정에서 필터링하는 방법이 아닌 것 같습니다. –
흥미롭게도,이 후크는 테마 또는 모듈에있는 경우에 상관없이 작동하는 것 같다. (제발 내가 틀렸다고 정정 해주세요)
- 1. 프로그래밍 방식으로 아음속으로 lazyload를 비활성화하는 방법은 무엇입니까?
- 2. Drupal 7 : 포럼 게시물을 프로그래밍 방식으로 생성하기
- 3. 모든 tinyMCE 텍스트 영역을 비활성화하는 방법은 무엇입니까?
- 4. Eclipse 작업 영역을 프로그래밍 방식으로 새로 고치는 방법은 무엇입니까?
- 5. 프로그래밍 방식으로 IE 프록시 설정을 활성화/비활성화하는 방법은 무엇입니까?
- 6. 프로그래밍 방식으로 웹캠의 자동 초점을 비활성화하는 방법은 무엇입니까?
- 7. DataGrid에서 프로그래밍 방식으로 제어를 활성화/비활성화하는 적절한 방법은 무엇입니까?
- 8. Drupal 7 프로그래밍 대 Drupal 6의 변경 사항은 무엇입니까?
- 9. 만화책 페이지에서 사각형 영역을 감지하는 방법은 무엇입니까?
- 10. Drupal 모듈에서 테마 출력을 비활성화하는 방법은 무엇입니까?
- 11. Drupal 7 - 템플릿에 변수를 할당하는 방법은 무엇입니까?
- 12. 프로그래밍 방식으로 drupal 테마 할당
- 13. 프로그래밍 방식으로 Drupal CCK 필드
- 14. 다른 페이지에서 특정 코드를 비활성화하는 방법은 무엇입니까?
- 15. 프로그래밍 방식으로 ASP 페이지에서 리디렉션 301을 수행하는 방법은 무엇입니까?
- 16. 이미지에 클릭 가능한 영역을 프로그래밍 방식으로 생성
- 17. 프로그래밍 방식으로 wpf에서 datagridrow의 버튼을 비활성화하는 방법
- 18. Drupal 7 AJAX 양식을 업데이트하는 방법은 무엇입니까?
- 19. 프로그래밍 방식으로 UIViewController를로드하는 방법은 무엇입니까?
- 20. Drupal 7 프로그래밍 향상, Drupal 6 업그레이드와의 차이점
- 21. Drupal 6 또는 Drupal 7?
- 22. drupal 7 팝업 창 (또는 링크를 비활성화하는 방법)
- 23. Magento에서 프로그래밍 방식으로 사용자를 확인하는 방법은 무엇입니까?
- 24. 프로그래밍 방식으로 입력을 drupal 양식에 삽입하십시오.
- 25. 프로그래밍 방식으로 Drupal 입력 필터를 적용하려면 어떻게합니까?
- 26. Windows Phone 7 볼륨 설정 프로그래밍 방식으로
- 27. 드루팔 (Drupal 7 갤러리 티저
- 28. 프로그래밍 방식으로 웹 페이지에서 데이터를 검색하는 방법?
- 29. Drupal 7 - PHP 함수로 테마의 템플릿에 프로그래밍 방식으로 내용을 삽입하려면 어떻게해야합니까?
- 30. 게시 페이지 레이아웃의 웹 파트 영역을 프로그래밍 방식으로 열거 함
그래서이 방법을 사용하면 모듈에 적용 할 수 없지만 테마를 만들 때 그렇습니까? – redben
글쎄, 당신은 아마 별도의 유지하려는 경우, 그냥 테마 폴더 대신 모듈 폴더에 tpl 파일을 넣을 수 있습니다. 그러나 그 페이지의 룩앤필은 모듈 자체보다 테마와 관련이 있다고 주장 할 수 있습니다. 그것은 철학적 인 질문이 더 많습니다;) – angelika