В настоящее время, если пользователь не вошел в систему, он перенаправляется на «страницу входа» при оформлении покупки в UberCart. Мне нужно, чтобы они были скорее перенаправлены на страницу регистрации.
Другими словами:
Go here: user/register
NOT here: user
Ключ здесь - заставить его работать с UberCart. Я знаю, что вы можете использовать логин и другие трюки, чтобы сделать это нормально, но я не могу заставить его работать с UberCart?
UPDATE
У меня все еще нет достойного решения, поэтому я добавил за это награду. В настоящее время, если у вас отключена «анонимная проверка», ubertcart автоматически добавляет эти сообщения:
- Вы должны войти в систему, прежде чем приступить к оформлению заказа.
- Если у вас еще нет учетной записи, вам необходимо зарегистрироваться.
Это также проблема в том смысле, что не имеет смысла показывать их, если вы переходите на страницу пользователя. Так что даже мой хакерский перенаправление пользователя в / 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()));
}
Так, в общем, мне нужен способ переопределить это поведение? (т.е. без взлома ядра?)