2011-06-24 35 views
0

我想設置Drupal 7,這樣當用戶登錄第一次他們提出使用條款(我已經嘗試使用條款模塊,但它doesn不適合我的需求,因爲它似乎只在用戶創建帳戶時才起作用,在我們的實例中,所有帳戶都是由管理員創建的),標準情況下用戶必須同意這些條款才能使用帳戶。Drupal 7使用條款和編輯檔案

對於第二部分的用戶,一旦用戶登錄並同意他們必須使用編輯配置文件表單進行更新。

是否有人知道無論如何設置此(最好沒有很多的發展,因爲這個項目時間短)?任何幫助是極大的讚賞。

回答

1

你知道如果用戶的「訪問」和「登錄」值是0,用戶還沒有登錄。所以它應該足以檢查它們,如果它們是0,則將用戶重定向到你的T。至少在理論上。

最簡單的解決方案(即在我腦海中,現在反正)將是這樣的:

function MYMODULE_form_alter(&$form, &$form_state, $form_id) { 
    if ($form_id == 'user_login') { 
    $form['#submit'][] = 'MYMODULE_user_login_submit'; 
    } 
} 

function MYMODULE_user_login_submit($form, &$form_state) { 
    $user = user_load($form_state['uid']); 
    if ($user->access == 0) { 
    $form_state['redirect'] = 'your-terms-and-conditions-form-url'; 
    } 
} 
  1. 勾成「USER_LOGIN」的形式,並添加自己的提交功能
  2. 在自己提交功能檢查兩個提到的值,如果他們等於0,將用戶重定向到您的T & Cs

事情是我們的提交被調用後主用戶_ login_submit(),其中(不是就是那裏)「登錄」值已經更新 - 因此我們可以檢查「訪問」字段。

其餘聽起來很容易夠 - 網頁和T & Cs和同意的形式,重定向到用戶配置文件編輯之後,易peasy ...

+0

工作就像一個魅力謝謝 – mitchellsg