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

时间:2011-02-07 15:43:33

标签: drupal login registration ubercart

目前,如果用户未登录,则在UberCart结账时会将其重定向到“登录页面”。我需要将它们重定向到“注册”页面。

换句话说:

Go here: user/register
NOT here: user

这里的关键是让它与UberCart一起使用。我知道你可以使用登录雪橇和其他技巧来正常进行,但我不能让它与UberCart合作?

更新

我仍然没有一个像样的解决方案所以我为此添加了赏金。目前,如果您禁用“匿名结帐”,ubertcart会自动添加以下消息:

  1. 您必须先登录才能继续结帐。
  2. 如果您还没有帐户,请立即注册。
  3. 这也是一个问题,如果您转到用户页面,显示它们是没有意义的。因此,即使我遇到“用户?目的地=购物车/结账”并且用户未登录时将用户转发到/ user / register也很难,将它们转发到“user / register?destination = cart / checkout”不会工作得很好。

    有什么想法吗?

    更新2

    这就是魔术发生的地方:第94行,uc_cart.pages.inc

    // Send anonymous users to login page when anonymous checkout is disabled.
    if (!$user->uid && !variable_get('uc_checkout_anonymous', TRUE)) {
        drupal_set_message(t('You must login before you can proceed to checkout.'));
        if (variable_get('user_register', 1) != 0) {
        drupal_set_message(t('If you do not have an account yet, you should <a href="!url">register now</a>.', array('!url' => url('user/register', array('query' => drupal_get_destination())))));
      }
      drupal_goto('user', array('query' => drupal_get_destination()));
    }
    

    所以,基本上我需要一种方法来覆盖这种行为? (即没有黑客核心?)

1 个答案:

答案 0 :(得分:2)

您应该查看规则和令牌模块。您将在用户登录以重定向到TOKEN时创建规则。确保您也启用了令牌操作模块。