2011-05-20 4 views
5

नहीं भेजती है ग्राहकों को डेटा कैसे प्राप्त करें ताकि मैं इसे गेटवे भुगतान में पास कर सकूं।Magento प्रश्न ग्राहक विवरण प्राप्त करते हैं और एक पृष्ठ/चेकआउट/सफलता ईमेल

यहाँ मेरी मॉडल है:

public function getStandardCheckoutFormFields() { 
     $orderIncrementId = $this->getCheckout()->getLastRealOrderId(); 
     $order = Mage::getModel('sales/order')->loadByIncrementId($orderIncrementId); 
     //$order = $this->get_sale_order($orderIncrementId); 
     echo Mage::getModel('customer/customer')->load($orderIncrementId); 

     $productArray = array(); 

     foreach ($order->getAllItems() as $item) { 
      $productArray[] = array(
       "product_name" => $item->getName(), 
       "product_qty" => $item->getQtyOrdered(), 
       "product_price" => $item->getPrice(), 
      ); 
     } 
     return $productArray; 
    } 

यहाँ मेरी नियंत्रक है:

public function redirectAction(){ 
     $session = Mage::getSingleton('checkout/session'); 
     $session->setAsurepayCustompayQuoteId($session->getQuoteId()); 
     $this->getResponse()->setBody($this->getLayout()->createBlock('custompay/redirect')->toHtml()); 
     $session->unsQuoteId(); 
     $session->unsRedirectUrl(); 
    } 

यह पूरी तरह से चल रहा है चल रहे हैं, समस्या मैं इस तरह के ग्राहक नाम के रूप में ग्राहक विवरण नहीं मिल सकता है, पता और आदि

मैं पहले से ही इस कोड की कोशिश की

Mage::getSingleton(customer/customer)->getData(); 

एक परिणाम था लेकिन प्रिंटिंग नहीं।

चेकआउट पृष्ठ सफलता (वनपृष्ठ) में। जब ग्राहक यहां पुनर्निर्देशित होता है, तो ग्राहक को कोई ईमेल नहीं भेजा जाएगा और आदेश पूरा होने के रूप में अपडेट नहीं किया गया था।

उत्तर

14

आप ऑर्डर से संबंधित किसी आईडी के साथ ग्राहक को लोड करने का प्रयास कर रहे हैं। यह स्पष्ट रूप से काम नहीं करता है! आपको आदेश से customer_id निकालने और उस पर आधारित ग्राहक मॉडल को लोड करने की आवश्यकता है।

$order = Mage::getModel('sales/order')->loadByIncrementId($orderIncrementId); 
$customer = Mage::getModel('customer/customer')->load($order->getCustomerId()); 

तुम भी Mage::getSingleton जो गलत कॉल है का उपयोग कर रहे हैं। आप एक विशिष्ट ग्राहक के अनुरूप एक नया उदाहरण चाहते हैं, न कि कक्षा के एकल अनुमत उदाहरण।

संबंधित मुद्दे