2010-08-16 95 views
0

使用Drupal 6.x我創建了兩種內容類型:Person和Event。事件有一個名爲Attendees的自定義字段(類型爲:Node Reference;對個人來說數量不限)。在查看特定的人時,如何顯示所有事件?如何設置內容關係的drupal?

我創建了一個視圖(個人事件)並添加了塊顯示。我啓用了塊顯示內容類型人。應如何界定觀點?或者,還有更好的方法?

安裝的模塊:CCK;節點關係;意見

回答

0

我有我自己的問題的答案。但是,也許有更好的答案......我只能希望。

創建的內容塊(個人活動)

將此代碼添加到塊體。此代碼通過該節點id參數的視圖

<?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); 
} 
?> 

添加此代碼塊的頁面[通過選擇:顯示如果下列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。

參數:Node:Nid;關係:參加者;隱藏查看/找不到網頁(404)[選擇]

場......簡單地選擇節點名稱和日期(現在)

過濾器:節點類型=事件

任何人有更好的辦法?