如何在Drupal 7使用戶電子郵件非必需(可選)在註冊時?如何在drupal 7中註冊時不需要用戶電子郵件?
3
A
回答
0
你可以使用自定義模塊內的Form API與hook_form_alter實現覆蓋場上#required setting。
+0
試過了。但還不夠。有一個驗證需要被覆蓋。我不知道該怎麼做。 – Sparko 2011-05-11 10:59:16
1
你無法去改變另一個驗證掛鉤。
你可以嘗試做的是構建自己的驗證,並在該窗體的驗證(['#validate'])數組只實例化自己的驗證掛鉤。
2
我能夠做出一個自定義模塊。它與sharedemail非常相似。
<?php
function noemail_form_user_register_form_alter(&$form, &$form_state, $form_id) {
noemail_form_user_account_form_alter($form, $form_state, $form_id);
}
function noemail_form_user_profile_form_alter(&$form, &$form_state, $form_id) {
noemail_form_user_account_form_alter($form, $form_state, $form_id);
}
function noemail_form_user_account_form_alter(&$form, &$form_state, $form_id) {
if (is_array($form['#validate'])) {
$key = array_search('user_account_form_validate', $form['#validate'], TRUE);
if ($key !== FALSE) {
$form['#validate'][$key] = 'noemail_account_form_validate';
}
}
$form['account']['mail']['#required'] = FALSE;
}
function noemail_account_form_validate($form, &$form_state) {
$form['account']['mail']['#needs_validation'] = false;
}
,並在情況下安裝文件是關鍵
<?php
function sharedemail_install() {
db_query("UPDATE {system} SET weight = -99 WHERE name = 'noemail'");
}
希望這有助於,哇,這是一個非常古老的線程。哦,並注意這是爲d7
1
有一個可選的郵件模塊,使用戶註冊時可選的電子郵件字段。訪問https://www.drupal.org/project/optional_mail, 我希望它能幫助。
而當你問一個密碼重置鏈接然後呢? – chx 2011-05-10 15:17:53
我將只使用第三方供應商登錄/註冊如Facebook,Twitter,谷歌等,無需密碼重置鏈接。 – Sparko 2011-05-10 16:52:35