在 Ubercart 结帐页面询问两次电子邮件

Posted

技术标签:

【中文标题】在 Ubercart 结帐页面询问两次电子邮件【英文标题】:Ask twice for email in the Ubercart checkout page 【发布时间】:2011-06-09 02:13:11 【问题描述】:

是否有 Ubercart 模块要求用户在结帐页面中插入他的电子邮件两次?

【问题讨论】:

【参考方案1】:

我怀疑是否有此模块。您可以在自定义模块中使用hook_form_alter 执行此操作。应该只有 10-20 行代码。

类似

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');
  

以上是示例代码,但实际上可能有效,这取决于 ubercart 结帐表单的创建方式,更具体地说,它的邮件字段的名称。

有一些空白,但应该很容易填写。

【讨论】:

【参考方案2】:

我通过使用它得到了它:

/* 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 */

【讨论】:

【参考方案3】:

ubercart 结帐设置中有一个电子邮件确认复选框。不需要额外的模块。

【讨论】:

以上是关于在 Ubercart 结帐页面询问两次电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

在 Drupal 的 UberCart 结帐期间重定向到注册页面而不是登录页面?

Drupal,Ubercart - 将自定义字段添加到结帐表单

在 Woocommerce 购物车、结帐页面、订单和电子邮件通知中的产品标题上方显示品牌名称

使 Woocommerce (3.8.0) 管理员电子邮件包含结帐页面中的自定义字段数据

WooCommerce 4.0 电子邮件、管理员订单和感谢页面上的自定义结帐和 ACF 字段值

ubercart 3 限制结帐所需的购物车总数量(例如不超过 8 个散装袋)