2010-08-16 3 views
0

Drupal 6.x를 사용하여 사람과 이벤트라는 두 가지 콘텐츠 형식을 만들었습니다. 이벤트에는 참석자라는 사용자 정의 필드가 있습니다 (유형 : 노드 참조, 사람에 대한 값의 개수는 무제한). 특정 사람을 볼 때 자신의 모든 행사를 어떻게 보여줄 수 있습니까?콘텐츠 관계에 drupal을 설치하는 방법은 무엇입니까?

보기 (개인 이벤트)를 작성하고 블록 표시를 추가했습니다. 콘텐츠 유형 Person에 표시 할 차단을 사용하도록 설정했습니다. 뷰를 어떻게 정의해야합니까? 아니면 더 좋은 방법이 있습니까?

설치된 모듈 : CCK; 노드 관계; 보기

답변

0

나는 내 자신의 질문에 대한 답을 가지고있다. 그러나, 아마도 더 나은 답변을 ... 나는 오직 희망 할 수 있습니다.

만든 컨텐츠 블록 (개인 이벤트) 블록의 몸에

추가 된 코드. 이 코드는보기

<?php 
if (arg(0) == 'node' && is_numeric(arg(1)) && ! arg(2)) { 
    $node = node_load(arg(1)); 
    $args = array($node->nid); 
    $view = views_get_view('PersonalEvents'); 
    print $view->preview('default', $args); 
} 
?> 

추가 된 블록의 페이지에이 코드에 노드 ID 인수를 전달 [선택 : 쇼를 다음 PHP 코드가 TRUE를 반환하는 경우 (PHP 모드, 전문가 전용)] ... 이렇게하면 블록이 사람의 컨텐트로만 표시됩니다.

스타일 : 표

관계 내용 :

<?php 
//Read URL 
$path=$_GET['q']; 
//If URL is node page 
if (strpos($path,'node')===0){ 
//Parse URL to get nid 
$links=explode("/",$_GET['q']); 
$nid=$links[1]; 
//Load node 
$node=node_load($nid); 
//Display block only if node is of certain content type 
if($node->type=='person'){ 
return TRUE; 
} 
} 
return FALSE; 
?> 

은 다음과 뷰 생성 참석자 (field_attendees를); 이 관계가 필요합니다 (선택). Delta는 ALL로 설정됩니다.

인수 : 노드 : Nid; 관계 : 참석자; 숨기기보기/페이지를 찾을 수 없습니다 (404) [선택]

필드 ... 단순히 노드 제목과 (지금은) 날짜

필터 선택 : 노드 유형 = 이벤트

누구나 더 좋은 방법이 있나요?

관련 문제