Gibt es ein Ubercart-Modul, das den Benutzer auffordert, seine E-Mail zweimal auf der Checkout-Seite einzugeben?Fragen Sie zweimal nach der E-Mail-Adresse in der Ubercart-Checkout-Seite
2
A
Antwort
1
Ich bezweifle, dass es ein Modul dafür gibt. Sie können dies mit hook_form_alter
in einem benutzerdefinierten Modul tun. Sollte nur 10-20 Zeilen Code sein.
So etwas wie
function module_form_FORM_ID_alter(&$form, &$form_state) {
$form['...']['second_mail'] = array(
'#title' => t('Verify E-mail'),
'#type' => 'textfield',
'#weight' => xx,
);
$form['#validate'][] = 'module_validate_function_name';
}
function module_validate_function_name(&$form, &$form_state) {
if ($form_state['values']['mail'] != $form_state['values']['second_mail']) {
form_set_error('second_mail', t('You have mistyped your e-mail, please verify');
}
}
Die oben ist Beispielcode, sondern könnte tatsächlich funktionieren, hängt es, wie die Ubercart Kasse Formular erstellt wird, genauer gesagt, der Name es Mail-Feld ist.
Es gibt ein paar Leerzeichen, aber es sollte einfach genug sein, es auszufüllen.
1
Ich habe es funktioniert dies durch den Einsatz:
/* Code to add confirm email for uc checkout */
function custom_code_form_alter(&$form, $form_state, $form_id) {
if($form_id == "uc_cart_checkout_form" && $form['panes']['customer']['primary_email']['#type'] != 'hidden'){
$form['panes']['customer']['primary_email']['#weight'] = '0';
$form['panes']['customer']['new_account']['#weight'] = '2';
$form['panes']['customer']['confirm_email'] = array(
'#title' => t('Verify E-mail address'),
'#type' => 'textfield',
'#size' => '32',
'#required' => true,
'#weight' => '1'
);
$form['#validate'][] = 'custom_code_validate_confirm_email';
}
}
function custom_code_validate_confirm_email(&$form, &$form_state){
if($form_state['values']['panes']['customer']['primary_email'] != $form_state['values']['panes']['customer']['confirm_email']) {
form_set_error('panes[customer][confirm_email', t('Email addresses must match.'));
}
}
/* end code for confirm_email */
2
eine E-Mail Bestätigung Checkbox in den Einstellungen Ubercart Kasse Es gibt. Keine zusätzlichen Module benötigt.