如何在Drupal Commerce上创建第二个登录页面

如何在Drupal Commerce上创建第二个登录页面,drupal,drupal-7,Drupal,Drupal 7,我正在使用Commerce Kickstart创建一个电子商务市场,我想知道如何创建第二个可供商家使用的登录页面 标准登录页是在生成的。我如何才能创建另一个登录页面在让我们说。页面本身的功能将与登录完全相同,只是在美观上有一些细微的变化,比如取消注册链接,因为我们将为商家生成登录信息 我可以看到表单是在commerce\u kickstart\u user\u form\u alter通过指定的表单ID生成的,因此我应该能够简单地在那里添加商户表单的详细信息。我的主要问题是,当他们访问我选择的u

我正在使用Commerce Kickstart创建一个电子商务市场,我想知道如何创建第二个可供商家使用的登录页面

标准登录页是在生成的。我如何才能创建另一个登录页面在让我们说。页面本身的功能将与登录完全相同,只是在美观上有一些细微的变化,比如取消注册链接,因为我们将为商家生成登录信息


我可以看到表单是在commerce\u kickstart\u user\u form\u alter通过指定的表单ID生成的,因此我应该能够简单地在那里添加商户表单的详细信息。我的主要问题是,当他们访问我选择的url时,页面/表单将如何生成?

您只需要创建一个自定义页面:

假设您的自定义模块名为custom_merchant,则代码应如下所示:

function custom_merchant_menu() {
  $items = array();

  $items['user/merchant_login'] = array(
    'page callback' => 'custom_merchant_login_callback',
    'page arguments' => array(true),
    'access callback' => TRUE,
    'type' => MENU_CALLBACK,
);

  return $items;
}

function custom_merchant_login_menu_alter(&$items) {
  $items['user']['page callback'] = 'custom_login_user_page';
}

function custom_merchant_login_callback($show = false) {
  global $user;
  if ($user->uid) {
    menu_set_active_item('user/'. $user->uid);
    return menu_execute_active_handler();
  } else if ($show) {
    return drupal_get_form('user_login');
  }
  drupal_not_found();
}