我試圖修改devel generate模塊,以防止它生成內容的用戶沒有權限生成此內容類型。修改開發模塊
問題是我對drupal相當新,所以我不熟悉它的鉤子。有人可以給我一些提示如何解決這個問題。
http://ftp.drupal.org/files/projects/devel-6.x-1.20.tar.gz
我試圖修改devel generate模塊,以防止它生成內容的用戶沒有權限生成此內容類型。修改開發模塊
問題是我對drupal相當新,所以我不熟悉它的鉤子。有人可以給我一些提示如何解決這個問題。
http://ftp.drupal.org/files/projects/devel-6.x-1.20.tar.gz
我覺得有你想要做什麼和如何傑韋利產生的作品之間有一些脫節。要使用Devel generate,需要administer nodes
權限:這意味着任何可以使用Devel generate的人都可以管理所有內容類型。
如果您試圖讓Devel生成在沒有administer nodes
權限的情況下工作,請不要。這是一個創建虛擬數據的開發模塊:它永遠不應該作爲非特權用戶運行。
你試圖完成什麼?
見
function devel_generate_content_add_node(&$results) {
有一個$users = $results['users'];
其中包含 「錯誤的用戶」。 你可以破解那裏的用戶,或者確保他們不是首先添加的。
這發生在
function devel_get_users() {
$users = array();
$result = db_query_range("SELECT uid FROM {users}", 0, 50);
while($user = db_fetch_object($result)){
$users[] = $user->uid;
}
return $users;
}
您將需要修改的方法,使它只返回用戶均可進行一定的權限。您可以在while循環中省略不正確的用戶;使用node access。
但是,這個devel_get_users例程也被稱爲其他事情,所以你可能想要通過新方法devel_get_permissioned_users($perm)
或通過引入可選參數來實現所有這些。
Devel生成內容並將作者附加到該內容。隨機。通常它會附加作者,根據權限,根本不會創建這樣的內容。 Devel應該認識到這些權限,並且僅將作者附加到實際可以創建此類內容的生成內容。 – berkes 2010-07-31 11:30:27
@berkes的評論是正確的。這是我的觀點。 – cyclo 2010-07-31 20:11:27
這是一個開發模塊:它並不意味着在權限很重要的網站上使用,例如生產站點。 – 2010-07-31 20:56:27