2011-04-14 3 views
2

그래서 내 오른쪽 사이드 바 영역 내에 3 개의 다른 블록이 있습니다. 내가하고 싶은 것은 내용 유형에 따라 표시되는 것을 변경하는 것입니다. Drupal에 익숙하지 않고 사용 가능한 변수 목록에서 볼 수있는 것부터 block.tpl.php를 사용자 정의 할 때 어떤 컨텐츠 유형을 볼 수있는 방법이 없습니다. 가능한가?드루팔 (Drupal 7) : 콘텐츠 유형에 따라 다른 사이드 바 표시

답변

1

Context module을 사용하여 다양한 콘텐츠 유형에 대해 서로 다른 "컨텍스트"를 정의하는 것이 좋습니다. 그런 다음 각 컨텍스트를 구성하여 다른 블록을 표시 할 수 있습니다.

또 다른 대안은 Panels module이지만 패널은 더 많은 작업을 수행하므로 결과적으로 인터페이스가 복잡해지기 때문에 초보자가 익숙하지 못하게 될 수 있습니다. 당신이 (CMS를하지 템플릿 파일) 블록을 편집 할 때 드루팔 7에서 별도의 모듈에 대한 필요가 없습니다

0

은 아래의 "가시성 설정"볼 "콘텐츠 형식"

여기에 블록을 표시 할 유형을 지정할 수 있습니다.

참고 : 아무 것도 선택하지 않으면 모든 콘텐츠 유형에서 사용할 수 있습니다. 당신은 단지 1 개 블록을 사용하려면

0

, 노드 유형 얻기 위해 몇 가지 코드를 추가 할 수 있습니다

<?php 
if (arg(0) == 'node') { 
    $node = node_load(arg(1)); 
} 
?> 

을 그리고 지금 당신이 가진 유형에 액세스 할 수 있습니다 : $는 노드 ->

하면 입력을 당신은

경로 자동 (http://drupal.org/project/pathauto)

설정 노드 경로가 다를 수 ... 설치 3 개 별도의 블록으로 가고 있었다. 이 예를 들어, 나는 콘텐츠 유형으로 기사와 제품을 사용합니다 :

기사 : 기사/[타이틀 원시] 제품 : 제품/[타이틀 원시]

다음

, 표시하려면 블록을 설정 URL 경로를 기반으로합니다.

기사 블록의 경우 articles/* 제품 블록에 대해서는 products/*

을 사용하십시오.