2010-03-29 75 views
1

我有一個Drupal站點,它使用與特定用戶對應的特定類型節點(person_id)的自定義字段。我想創建一個視圖,以便登錄時,用戶可以看到一個節點'0123'的節點列表,其person_id。我的視圖工作正常,網址爲my-library/username,但使用不同的用戶名替換username會顯示使用該用戶標記的所有節點的列表。我想要做的是停止用戶更改URL並查看其他用戶的標記節點。我怎樣才能做到這一點?有沒有什麼地方可以說明這個頁面的唯一有效參數是與當前登錄用戶的用戶名相對應的參數?Drupal使用CCK自定義字段的視圖

回答

1

我不知道你是如何設置你的視圖,它提供了一些不同的選項來解決這個問題。一種應該工作的方式是將默認參數設置爲記錄的用戶id /用戶名,並從url中移除參數。

另外,你可以創建自己的過濾器,它需要一些與視圖API的工作,但給予更多的控制。

2

person_id = uid? 在這種情況下,添加參數以用戶:UID,然後在驗證選項中選擇PHP代碼,請仔細閱讀本場的評論:

輸入返回TRUE或FALSE PHP代碼。沒有返回與FALSE相同,因此請務必返回 不想聲明參數 無效的內容。不使用 。要驗證的參數 將爲 「$ argument」,視圖將爲 「$ view」。你可以通過設置「$ handler-> argument」來改變參數 。

添加以下代碼:

global $user; 
$account = user_load('name'=>arg(1)); 
$handler->argument = $user->uid; 
return $account->uid == $user->uid;