/ / Actualisation de l'étape de paiement Magento - php, magento, magento-1.7

Nouvelle étape de paiement pour Magento - php, magento, magento-1.7

J'ai ajouté des fonctionnalités au mode de paiementétape, qui est liée à l'adresse d'expédition, si l'adresse d'expédition change, le contenu HTML du mode de paiement doit être rechargé. J'ai essayé d'ajouter du JavaScript à l'étape de facturation et d'expédition, mais mon back-end nécessite que l'adresse d'expédition soit sauvegardée. Donc, si j'ajoute mon propre JavaScript après onclick = "shipping.save ();" Dans shipping.phtml, il n'est jamais appelé.

Est-il possible d'actualiser l'étape HTML chaque fois qu'une étape est visualisée?

Réponses:

2 pour la réponse № 1

Oui, c’est possible, mais pas avec JS pur (il n’existe pas de callbacks ajax disponibles pour recharger une étape d’un simple clic)

Vous aurez besoin de surcharger le OnepageController de Mage_Checkout. Dans cette classe, vous verrez que chaque étape saveAction contient la logique d'actualisation / d'affichage de l'étape suivante.

Par exemple, dans le saveShippingAction() de Mage_Checkout_OnepageController tu peux voir :

[...]
if (!isset($result["error"])) {
$result["goto_section"] = "shipping_method";
$result["update_section"] = array(
"name" => "shipping-method",
"html" => $this->_getShippingMethodsHtml()
);
}
[...]

La partie update_section est celui qui demande à magento d'actualiser de force l'étape.

Vous devriez pouvoir l'adapter à vos besoins.