1
我已經看到類似的問題,例如drupal :: order complete hook and upgrade user permission/roles這對我很有用,除了我的訂單永遠不會完成,只有payment_received。此時uid爲0.如果我在「客戶完成結帳」下添加條件操作以將狀態標記爲完整,因爲uid仍然爲0,則它仍然不起作用。在ubercart中,如何在用戶創建並關聯訂單後獲取uid和order_id
所以我的問題是,怎麼可以在用戶成功完成結賬並創建後,我得到了uid和訂單對象?
謝謝,我想過使用順序查找的電子郵件地址uid,但當然這個用戶不是在這個時候創建的,而且之後需要顯示一個鉤子。我想我可以使用hook_user插入操作來檢查電子郵件地址是否有任何訂單是uid 0並在一定的時間限制內創建的?這對我來說似乎很混亂,有沒有更好的解決方案? –
對不起,我的意思是在'hook_order()'而不是'hook_user()'。你確定這不是一個匿名結賬場景嗎?如果是「uid」,將永遠爲零,因爲沒有用戶創建過。如果沒有,到'hook_order()'用'update'參數被調用時,用戶一定要被創建,並且順序應該被填充。如果不是,使用'global $ user'會讓你獲得當前登錄的用戶,你應該能夠獲得'uid'這種方式 – Clive
感謝Clive,這很有道理,雖然從我之前測試過的,看起來你上面的代碼總是使用全局的$用戶,我已經設置爲每個場景發送電子郵件與參數的內容。我們有這些設置,以便用戶在成功訂購時創建,這確實發生了,太遲了。然而,從我的代碼中可以看到,即使全球$用戶此時也是0,因爲他們沒有登錄或創建。 –