2011-02-07 49 views
3

當前,如果用戶沒有登錄,當在UberCart中結帳時,他們被重定向到「登錄頁面」。我需要他們重定向到「註冊」頁面。重定向到註冊,而不是在Drupal UberCart結帳期間的登錄頁面?

換句話說:

Go here: user/register 
NOT here: user 

這裏的關鍵是要讓它使用的Ubercart工作。我知道你可以使用登錄平底雪橇和其他技巧來正常工作,但是我無法使用UberCart工作?

UPDATE

我還沒有一個像樣的解決方案,所以我加入賞金這一點。目前,如果您禁用了「匿名結賬」,則ubertcart會自動添加以下消息:

  1. 您必須先登錄,然後才能繼續結帳。
  2. 如果您還沒有帳號,請立即註冊。

這也是一個問題,因爲如果您轉到用戶頁面,則無法顯示它們。因此,即使我遇到「user?destination = cart/checkout」並且用戶沒有登錄時將用戶轉發到/ 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())); 
} 

所以,基本上我需要一種方法來重寫該行爲? (即沒有黑客攻擊?)

+0

我很想聽聽你是否以及如何解決這個問題 – 2014-05-29 23:01:53

+0

我使用了一個站點上建議的規則和標記模塊,但在另一個站點上,我添加了一個模塊來檢查我。基本上,它只是一個「init」掛鉤,檢查它是否是註冊路徑,如果是,它會爲我做重定向。它在一個案例中運作良好。收件箱我,如果你想要更多的信息。 – coderama 2014-05-31 22:51:27

回答

2

你應該看看規則和標記模塊。您將在用戶登錄時創建規則以重定向到TOKEN。確保您也啓用了令牌操作模塊。

相關問題