我已經結束了使用掛鉤來實現用戶是普通的授權用戶還是完整的用戶。有人可以檢查下面的鉤子是否正確? Im新的Drupal所以不知道添加/刪除角色時是否有其他表受到影響。
function module_user_update(&$edit, $account, $category) {
$dob = field_get_items('user', $account, 'field_dob');
$address1 = field_get_items('user', $account, 'field_address1');
$address2 = field_get_items('user', $account, 'field_address2');
$address3 = field_get_items('user', $account, 'field_address3');
$city = field_get_items('user', $account, 'field_city');
$postcode = field_get_items('user', $account, 'field_postcode');
$county = field_get_items('user', $account, 'field_county');
$telephone = field_get_items('user', $account, 'field_telephone');
if(empty($dob[0]['value']) || empty($address1[0]['value']) || empty($address2[0]['value']) || empty($address3[0]['value']) || empty($city[0]['value']) || empty($postcode[0]['value']) || empty($county[0][$
{
$userid = $account->uid;
//remove full role from db so user is only an authorised user
db_query("DELETE FROM {users_roles} WHERE uid = '".$userid."' && rid = '5'");
} else {
$userid = $account->uid;
//delete full role if it already exists so it doesnt go in twice
db_query("DELETE FROM {users_roles} WHERE uid = '".$userid."' && rid = '5'");
//insert full role
db_query("INSERT INTO {users_roles} (rid, uid) VALUES ('5',$userid)");
}
}
我一直在尋找這在今天,似乎是能夠做到這一點,當一個用戶註冊,但沒有更新他們的帳戶時。我目前正在使用'帳戶'字段,例如帳戶:字段名,帳戶:字段姓等。這是否意味着我將不得不有一個單獨的規則更新帳戶,並使用'site:current-user:field- forename','site:current-user:field-surname'等等呢? – 2012-02-02 11:24:51
其實,我很確定它可以與'帳戶'一起使用,因爲如果'數據值爲空',參數 - 帳戶:field-address1 AND'數據值爲空',參數 - 帳戶:field-address2,這似乎工作。但是,如果我用OR替換AND,它不起作用,有什麼想法? – 2012-02-02 12:13:06
沒有什麼比我的頭腦更好的了,在規則中我從來沒有像AND/OR那樣的問題。也許嘗試使用2個不同的領域,並嘗試? – Laxman13 2012-02-02 14:00:10