2010-09-22 23 views
1

我需要幫助如何組織drupal cms的節點。如何在下一個案例中組織drupal內容

我有三種用戶(三個額外的用戶組)。

節點可訪問僅在用戶已登錄。

從第一組用戶可以訪問所有的節點,由所有用戶發佈的(所有用戶組)。

來自第二組的用戶只能訪問由他們自己創建的節點。

來自第三組的用戶可以訪問由他們和第一組用戶創建的內容。

重要的是,當用戶輸入他們的內容時,他們不必定義誰可以訪問哪些內容。它必須由系統完成。

是否可以組織使用視圖模塊?此外,用戶必須使用相同的鏈接才能訪問節點,這一點很重要。

我需要一些額外的編程嗎?

預先感謝您!

+0

「access」是什麼意思?能夠查看?能夠編輯?能夠刪除?你可以重申你的問題上述方面。 A組中的某人還能夠編輯其他人從A組創建的節點嗎? B組中的某人能夠編輯由B組中的其他人創建的節點嗎?等等。請更精確地重申您的問題。 – 2010-09-23 06:51:16

+0

@ user198003你也可以考慮給你的問題一個更好的標題,以便其他人可以從標題本身更多地瞭解你的問題。 – 2010-09-23 13:32:40

回答

1

對不起,但答案很複雜。這個概念其實很簡單。

您將需要使用基於節點訪問的模塊。節點訪問模塊做什麼?請參閱:

http://drupal.org/node/270000一個很好的概述

首先,創建3個用戶角色。讓我們打電話給他們:Role_A,Role_B,Role_C。然後創建一個名爲Group的詞彙表。在組詞彙中添加三個詞:Group_A,Group_B,Group_C。

確保組詞彙表適用於您要控制的所有內容類型,例如頁面,故事等

概念如下:當Role_A的用戶將創建一個節點時,他應該將Group_A項添加到該節點。當Role_B的用戶將創建節點時,他應該將Group_B項添加到該節點。當Role_C的用戶將創建一個節點時,他應該添加Group_C術語。我知道你希望用戶不必這樣做......有一些方法可以避免這種情況或簡化它...繼續閱讀。

使用分類訪問控制精簡版模塊http://drupal.org/project/tac_lite你將使這樣的:

角色A將有視圖訪問到具有分類術語Group_A或Group_B或Group_C所有節點。角色B將具有訪問具有分類術語Group_B的所有節點的視圖訪問權限。角色D同樣也視圖訪問到具有分類術語Group_A或Group_C

現在你需要防止Role_A的用戶連接從組詞彙 Group_A其他任何條款的所有節點。即Role_A用戶應該只能夠將術語Group_A添加到他們的節點,Role_B用戶應該只能夠將術語Group_B添加到他們的節點,並且Role_C用戶應該只能夠將術語Group_C添加到他們的節點。

你可以通過使用術語權限模塊http://drupal.org/project/term_permissions

轉到每個術語集團詞彙和編輯它,有權限的部分現在將可用。因此,讓Role_A 只有具有Group_A的權限,Group_B的Role_B和Group_C的Role_C。

現在您應該製作所需的組詞彙表(點擊編輯詞彙表設置中的所需複選框)。這樣用戶就可以選擇他們的組。請注意,由於期限權限的原因,他們只能在其下拉列表中選擇一項,因此這很重要。

Views模塊將開箱即用。 Role_A用戶將只能看到他們應該的節點等等。所以你沒事。注意1:如果您希望人們不必擔心必須選擇組,則可以始終使用規則模塊來確保節點在保存時標有某個分類術語。見http://drupal.org/project/rules。因此,如果用戶角色是角色A等,則保存時您將添加Group_A術語。如果您使用規則,則不需要將組詞彙表設置爲「必需」。注意2:請注意,而不是使用分類權限控制精簡版 + term權限模塊組合,您可以簡單地使用分類權限控制http://drupal.org/project/taxonomy_access,這是一個功能強大但更棘手的模組。注意3:請注意,在編寫本文時,術語權限模塊會干擾分層選擇(HS)模塊以及可能的分類超級選擇(TSS)模塊。因此,如果您使用HS/TSS模塊,您將需要用戶分類訪問控制(而不是tac_lite)

相關問題