2011-11-15 16 views
7

Magento etkinliğini bulmak oldukça zor bir alan. Sanırım bir sürü hayal kırıklığı, her zamanki gibi, belgelerin eksikliğinden ibaret.Sipariş başarıyla yerleştirildiğinde Magento olayı her zaman gönderilir mi?

Bir ziyaretçi bir site üzerinden geçerken kodumun çeşitli aşamalarda tetiklenmesini istiyorum. Bu yüzden Mage :: dispatchEvent uygulamasında bazı hata ayıklama yaptım ve her aşamada hangi olayların tetiklendiğini görmek için siteden geçtim. Çok fazla var! İlgilendiğim

İki yerlerdir:

ziyaretçinin bir fatura adresi seçilmiş ve ödeme işleminin bir sonraki aşamaya taşındı
  • . Bir kullanıcının başarıyla fatura adresi bir İçin sipariş

yerleştirir

  • , ilgili bakmak Kovulmak testere olaylar şunlardır:

    controller_action_predispatch_checkout_onepage_saveBilling 
    controller_action_postdispatch_checkout_onepage_saveBilling 
    

    'ön' ve ' 'post' aslında bana bir 'checkout_onepage_saveBilling' olayı önerdi, ama yok, bu yüzden ilk sorumun 'pre' ve 'post' neden? Başarılı sipariş için

    , iyi görünüyorsun olaylardır:

    checkout_onepage_controller_success_action 
    checkout_multishipping_controller_success_action 
    

    İkinci sorum bu etkinlikleri her ödeme yöntemleri için ateş açılacak mı? Örneğin, Google Checkout veya PayPal (standart yönlendirme) kullanılıyorsa etkinlik tetiklenir ve hangi noktada olur? Siteye PayPal'dan dönerken? Eğer öyleyse, eğer ödeme tamamlandıktan sonra kullanıcı geri dönmezse, bu soruya yalvaracaktı.

    Yardımlarınız için teşekkür ederiz.

  • +0

    Merhabalar. Bu cevaplandı mı? Aşağıdaki cevaplardan birini kabul etmeniz için verebileceğimiz başka bir şey var mı? – Morgon

    cevap

    6

    Harekete geçirme olayı eylemi çağrılmadan önce tetiklenir, postdispatch olayı eylem tamamlandıktan sonra tetiklenir. Dolayısıyla, işlemin sonucunun ne olduğunu bilmeniz gerekiyorsa, postdispatch olayını kullanmalısınız.

    Başarılı siparişler için, checkout_submit_all_after etkinliğini kontrol edin.

    Görmediyseniz, https://www.nicksays.co.uk/magento-events-cheat-sheet-1-9/, Magento olayları için kullanışlı bir başvuru kaynağıdır.

    13

    Maalesef, Paypal Express siparişleri için checkout_submit_all_after'un çalışmadığını fark ettim.

    Bunu eklemek için Paypal modellerinin değiştirilmesinin kısa bir kısmı (veya belki de ateş edebilecekleri olaylara uydurma - daha kontrol etmedim), sanırım her tür için kesinlikle güvenebileceğiniz tek olay checkout_onepage_controller_success_action olabilir düzenin.

    +0

    Merhaba, hiç problemi Paypal Express ile çözdünüz mü? –