2011-09-08 11 views
6

हाय दोस्तों,Magento कस्टम भुगतान विधि: Mage_Payment_Model_Method_Abstract :: assignData के माध्यम से डेटा है कि स्थापित किया गया था प्राप्त करने के लिए()?

मैं वर्तमान में एक भुगतान पद्धति के विकास कर रहा हूँ और चीजों को बहुत अच्छी तरह से काम कर रहे हैं। बस एक बात: ग्राहक भुगतान पद्धति के साथ और डिबगिंग के माध्यम से मैं देख सकता हूँ कि यह Mage_Payment_Model_Method_Abstract :: assignData() दुर्भाग्य से, मुझे लगता है कि डेटा जब मैं में हूँ नहीं पढ़ सकते हैं के माध्यम से InfoInstance में लिखा जाता है कुछ जानकारी में प्रवेश करती है कब्जा() - विधि। मैं InfoInstance निकालते हैं और जानकारी को पढ़ने की कोशिश करते हैं, लेकिन यह स्थापित नहीं किया गया।

assignData() विधि:

public function assignData($data) { 
    if (!($data instanceof Varien_Object)) { 
     $data = new Varien_Object($data); 
    } 

    $info = $this->getInfoInstance(); 
    $info->setEtixType($data->getEtixType()); 

    return $this; 
} 

कब्जा() विधि:

public function capture(Varien_Object $payment, $amount) { 
    // ... 

    $info = $this->getInfoInstance(); 

    Mage::log('etix_type: '.$info->getEtixType()); //I expect something like "etix_type: cc" 

    // ... 
} 

किसी भी मदद की सराहना की है। मुझे यकीन है कि मैं कुछ याद कर रहा हूँ ...

धन्यवाद, Aeno

उत्तर

8

यह पाया जाता है,

veriables InfoInstance काम करता है के लिए सीधे नियत है, लेकिन यह पूरी जांच प्रक्रिया के माध्यम से मौजूद नहीं होता। इसके बजाय, आप additional_data पर सेट करने के लिए है:

$info = $this->getInfoInstance(); 
$info->setAdditionalInformation('etix_type', $data->getEtixType()); 

और बाद में आप इसे माध्यम से पढ़ सकते हैं:

$info = $this->getInfoInstance(); 
$etix_type = $info->getAdditionalInformation('etix_type'); 
+0

धन्यवाद आप जवाब के लिए .. –

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