我有一種情況,有人可以創建一個工作內容類型。我添加了與「組織」內容類型相關的CCK字段。因此,當有人創建新的招聘職位時,他們可以選擇該職位在該領域工作的組織(自動填寫)。問題是我可以創建一個新工作並選擇任何組織,即使我自己沒有創建該組織。Drupal:幫助內容類型創建和鏈接節點
有沒有一種方法可以將某人在該字段中鍵入的內容限制爲1.存在的組織名稱,以及2.屬於該用戶的組織?
我正在使用drupal 6.
任何幫助最受讚賞!
Jonesy
我有一種情況,有人可以創建一個工作內容類型。我添加了與「組織」內容類型相關的CCK字段。因此,當有人創建新的招聘職位時,他們可以選擇該職位在該領域工作的組織(自動填寫)。問題是我可以創建一個新工作並選擇任何組織,即使我自己沒有創建該組織。Drupal:幫助內容類型創建和鏈接節點
有沒有一種方法可以將某人在該字段中鍵入的內容限制爲1.存在的組織名稱,以及2.屬於該用戶的組織?
我正在使用drupal 6.
任何幫助最受讚賞!
Jonesy
您可以使用PHP的規則所允許的值數組的節點參照外地的,我認爲你的情況需要由當前用戶所做的所有節點上運行一個快速查詢。
我還沒有測試過這個代碼,但是如果我理解了這個問題,它應該相當接近你的結果!
global $user; //make sure we have access to the user
//find all the job organisation nodes made by this user
//(replace organisation with the actual name of your content type)
$query = db_query("select nid from {node} where type = 'organisation' and uid = %d", $user->uid);
//put the results in the values array
$values = array()
while($result = db_fetch_result($query)){
$values[] = $result;
}
我不是在一個地方,我可以很容易地檢查這一點,但你也可以嘗試使用選擇的編輯頁面,並與視圖中顯示的選擇。然後,創建一個關於內容類型的視圖,並檢查節點用戶是否是登錄用戶。
您可以使用Nodereference字段。
這是自動完成,並在領域的設置下,您可以選擇查看到過濾器,可引用的節點(這就是所謂的「高級 - 可被引用的節點(視圖)」)
只需將View節點限制爲當前登錄用戶創建的節點,然後在Nodereference設置頁面上使用該節點。 使用該選項,刪除位於高級設置上方的選項「可引用的內容類型」。 所以一定要在節點類型上添加一個過濾器。
我假設您已經使用Nodereference,並且您可能已經查看了該選項