我正在使用Commerce Kickstart创建一个电子商务市场,我想知道如何创建可供商家使用的第二个登录页面。
标准登录页面在http://website.com/user/login生成。我怎样才能创建另一个登录页面,让我们说http://website.com/user/merchant_login。页面本身的功能与登录完全相同,只是略微改变了美观,例如取消注册链接,因为我们将为商家生成登录信息。
我可以看到表单是通过指定的form_ids在commerce_kickstart_user_form_alter生成的,所以我应该只需在那里添加商家表单的详细信息。我的主要问题是,当他们访问我选择的网址时,页面/表单将如何生成?
答案 0 :(得分:0)
您只需要创建一个自定义页面:
假设您的自定义模块名为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();
}