Перенаправлять на страницу регистрации, а не на страницу входа во время оформления заказа UberCart в Drupal? - PullRequest
3 голосов
/ 07 февраля 2011

В настоящее время, если пользователь не вошел в систему, он перенаправляется на «страницу входа» при оформлении покупки в UberCart. Мне нужно, чтобы они были скорее перенаправлены на страницу регистрации.

Другими словами:

Go here: user/register
NOT here: user

Ключ здесь - заставить его работать с UberCart. Я знаю, что вы можете использовать логин и другие трюки, чтобы сделать это нормально, но я не могу заставить его работать с UberCart?

UPDATE

У меня все еще нет достойного решения, поэтому я добавил за это награду. В настоящее время, если у вас отключена «анонимная проверка», ubertcart автоматически добавляет эти сообщения:

  1. Вы должны войти в систему, прежде чем приступить к оформлению заказа.
  2. Если у вас еще нет учетной записи, вам необходимо зарегистрироваться.

Это также проблема в том смысле, что не имеет смысла показывать их, если вы переходите на страницу пользователя. Так что даже мой хакерский перенаправление пользователя в / user / register, когда он встречает «user? Destination = cart / checkout» и пользователь не зарегистрирован, переадресовать его в «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 Ответ

2 голосов
/ 11 февраля 2011

Вам следует заглянуть в модуль правил и токенов.Когда пользователь войдет в систему, вы создадите правило для перенаправления на токен.Убедитесь, что вы также включили модуль действий токена.

...