目前,如果用户未登录,在UberCart结账时会被重定向到“登录页面”。我需要将他们重定向到“注册”页面。
换句话说:
Go here: user/register
NOT here: user
关键在于使其与UberCart兼容。我知道你可以使用登录 toboggan 和其他技巧来完成,但是我无法使其与UberCart一起使用?
更新:
我仍然没有一个合适的解决方案,所以我为此添加了赏金。目前,如果您禁用了“匿名结账”,ubertcart会自动添加以下消息:
1.在进行结账之前,您必须先登录。 2.如果您还没有帐户,请立即注册。
这也是一个问题,因为如果您转到用户页面,它就没有意义了。因此,即使我硬编码将用户转发到“user/register?destination=cart/checkout”,每当它遇到“user?destination=cart/checkout”并且用户未登录时,也不起作用。
有任何想法吗?
更新2:
这就是魔法发生的地方:uc_cart.pages.inc 的第94行。
// 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()));
}
所以,基本上我需要一种方法来覆盖这种行为?(即不需要篡改核心代码?)