나는 이것이 가장 쉽고/좋은 방법이라고 말하지는 않겠지 만 작동해야합니다 ... 나는 node_reference, cck 및 views 모듈을 사용한다고 가정합니다. 두 가지 일을해야한다고 생각합니다.
먼저 주제에 대해 새 content_type을 생성하지 마십시오. 분류법 "캠페인"을 만들고 설정하여 "프로젝트"콘텐츠 유형에서 택 소노 미젬을 선택할 수 있도록하는 것이 좋습니다. 이것을 사용하여보기에서 "제목"을 필터링 할 수 있습니다. 을 내 예에서의 2 개 콘텐츠 유형이 있습니다 가정 해 봅시다 : 이벤트 및 eventsubscribers 이벤트가 여러 eventsubscribers에 대한 참조가이
둘째, 여기에 node_reference 모듈을 사용하여 노드를로드하는 예입니다. 이 예제에서는 tpl.php를 사용하여 콘텐츠 유형을 테마로합니다. http://drupal.org/node/17565, http://drupal.org/node/53464 및
http://drupal.org/node/266817는 필터링 할 주요 항목을 가지고있는 뷰를 만들기 자세한 내용을 살펴 있습니다. 내 예제에서는 모든 이벤트에 이벤트 구독자가 첨부되어 있으므로 노드 유형 (이벤트) 및 게시 된 노드 (예)에서 필터링하는보기를 만듭니다.
'노드'에 행 스타일을 설정하십시오. 이렇게하면 테마 맵에 node- [content-type] .tpl.php 파일을 만들 수 있습니다.
tpl.php 파일에서 (php)를 사용하여 모든 데이터를 인쇄 할 수 있습니다 : print_r($node);
this (node-event.tpl.php) 노드 - [content-type] .tpl.php 파일을 만듭니다. 당신에게 모든 분야를 줄 것입니다. 이러한 필드에는 node_reference 필드가 있습니다.
node_reference 필드는 노드의 ID를 제공하므로 node_load를 사용하여 변수에 전체 노드를로드하십시오. 예 : $picturenode = node_load($node->field_ref_subscriber[0]['nid'])
. 여러 그림의 경우 foreach 루프를 사용하십시오.
node_load 다음에는 node_reference의 모든 필드가 변수에 있습니다 (다시 print_r을 사용하여 배열의 모양을 볼 수 있습니다).이 변수를 사용하여 그림을 인쇄 할 수 있습니다. 예를 들면 : print($picturenode->field_image[0]['view']);
특정 경우
의 node_load 당신에게 값 대신 뷰를 제공 할 것입니다. 따라서 imagecache 함수를 사용하여 그림 테마를 만드십시오. 그것은 좀 더 쉽게하기 위해, 여기에 몇 가지 예제 코드입니다 :
<?php
// $Id: node.tpl.php,v 1.7 2007/08/07 08:39:36 goba Exp $
?>
<div class="node<?php if ($sticky) { print " sticky"; } ?><?php if (!$status) { print " node-unpublished"; } ?>">
<?php if (!$page) { ?>
<h2 class="nodetitle"><a href="<?php print $node_url?>"><?php print $title?></a></h2>
<?php }; ?>
<div class="content"><?php print $node->content['body']['#value']; ?></div>
<div class="subscribers"><?php //this will load all subscribers to the event
foreach((array)$node->node_ref_subscribers as $subscriber){
$subscriberdata = node_load($subscriber['nid']); //load the subscriber values in $subscriberdata
print($subscriberdata->field_subscriber_body[0]['value'];); //print subscriber field
}
?></div>
<?php if ($links) { ?><div class="links">» <?php print $links?></div><?php }; ?>
</div>
<?php
//print_r($node);
?>
이 예제는 테스트되지 않았습니다, 당신은 무엇을 할 수 있는지의 거친 버전으로 볼 만하다. print_r을 사용하여 노드에서 사용 가능한 데이터 (node_load 이후의 node_reference)를 확인하십시오.