2012-02-06 1 views
1

J'ai créé une nouvelle méthode de paiement (passerelle). Dans cette passerelle j'envoie des informations à la banque pour le paiement de crédit et j'utilise des options de paiement supplémentaires comme Nom/Personne Âge/Bénéfice Personne/Durée du Crédit/...Magento Paiement Info Bloc

Par ces champs je calcule le Terme de Crédit et envoie toutes ces données à la banque. Je voudrais montrer cette information dans le bloc d'information de méthode de paiement (barre latérale droite dans le thème par défaut), mais je ne voudrais pas enregistrer ces champs à la base de données (ainsi dans la région d'admin plus tard j'aurai l'information comme c'était standart Je ne peux pas afficher ces champs dans le bloc d'infos sur les méthodes de paiement, car il ne montre que les champs stockés dans la base de données et de la seule façon que j'ai trouvé - stocker ces données dans le noyau/session et puis dans le bloc d'informations récupérer ces données Retour

Je fais quelque chose comme ça dans le modèle de paiement:

class OS_LacPayCS_Model_Payment extends Mage_Payment_Model_Method_Abstract 
{ 
... 
public function assignData($data) 
{ 
    parent::assignData($data); 
    $session = Mage::getSingleton('core/session'); 
    $session->setData('payment_additional', $data); 
    return $this; 
} 
... 
} 

puis l'obtenir

class OS_LacPayCS_Block_Payment_Info extends Mage_Payment_Block_Info 
{ 
... 
public function getPaymentInfo() 
{ 
    $session = Mage::getSingleton('core/session'); 
    return $session->getData('payment_additional'); 
} 
... 
} 

Y at-il une autre façon d'obtenir ces données?

Et aussi je souhaite ajouter quelques rangées supplémentaires dans l'onglet de révision de commande à la caisse, comment puis-je les ajouter sans modèle de révision de réécriture et bloquer?

Thanx

Répondre

2

paiement Magento api définit champ additional_information qui est enregistré sous forme de tableau sérialisé db et que vous pouvez utiliser pour stocker les données que vous devrez peut-être afficher. Vous pouvez définir des données à l'aide de la méthode assignData ($ data)