Paiement d'une page cassé en 1.8?

12

Notre commande semble être cassée et plus de gens semblent avoir le problème avec magento 1.8. Il ne fait tout simplement rien après avoir appuyé sur le bouton continuer à l'étape 4. Nous exécutons PHP 5.4.19 et l'avons essayé dans chrome v28, firefox v22, safari v5.1.

Il n'y a aucune erreur dans les journaux et c'est la même chose dans le thème par défaut.

spydon
la source

Réponses:

15

Trouvé la solution ici: http://www.magentocommerce.com/boards/viewthread/441003/#t460203

Allez dans / app / design / frontend / base / default / template / checkout / onepage / file payment.phtml ouvrez-le, ligne 36

<fieldset>
    <?php echo $this->getChildHtml('methods') ?>
</fieldset>

ajouter un identifiant au jeu de champs

<fieldset id="checkout-payment-method-load">
    <?php echo $this->getChildHtml('methods') ?>
</fieldset>

Merci à hungtk2707!

spydon
la source
2
Si vous n'avez effectué aucune modification de code et que vos modules tiers sont à jour, la plupart des problèmes de mise à niveau proviennent de modèles et de mises en page développés pour les versions précédentes. Il s'agit souvent de travailler sur les modèles de la zone qui échoue et de vérifier les différences de code entre ce qui se trouve dans votre modèle et ce qui se trouve dans le modèle de base nouvellement installé. Dans les mises en page, il s'agit souvent d'un bloc déplacé, d'un nouveau bloc qui doit être ajouté ou similaire. Comme le montre votre message, ils ont ajouté un identifiant à l'ensemble de champs dont le javascript a besoin pour référence pour passer à l'étape suivante.
Fiasco Labs
2
je venais d'installer une version propre de magento 1.8.1, et cela semble être une erreur dans le code. Il doit être inclus dans le fichier phtml de base.
Masu
1
tu me sauves la vie + 1
Ram Sharma
5

J'ai également eu le problème de paiement et j'ai trouvé la solution:

Dans /template/checkout/onepage/review/info.phtml (à la fin)

remplacer

review = new Review('<?php echo $this->getUrl('checkout/onepage/saveOrder') ?>', '<?php echo $this->getUrl('checkout/onepage/success') ?>', $('checkout-agreements'));

par

review = new Review('<?php echo $this->getUrl('checkout/onepage/saveOrder', array('form_key' => Mage::getSingleton('core/session')->getFormKey())) ?>', '<?php echo $this->getUrl('checkout/onepage/success') ?>', $('checkout-agreements'));

Cela devrait résoudre votre problème de paiement.

Mhammed Mouhcine Guessous
la source
1
Il semble que votre exemple de code soit incomplet. Veuillez modifier pour inclure le formatage Markdown approprié.
benmarks
Cela a résolu mon problème où, en appuyant sur confirmer, j'obtiendrais un 302 et le formulaire ne serait pas soumis.
woot586
2

Si vous mettez à niveau votre Magento (vers 1.9.1) et que le modèle de paiement est personnalisé et que le xml est également modifié.

Le look pour cela:

<block type="checkout/onepage_payment" name="checkout.onepage.payment" as="payment" template="checkout/onepage/payment.phtml">
     <block type="checkout/onepage_payment_methods" name="checkout.payment.methods" as="methods" template="checkout/onepage/payment/methods.phtml">
          <action method="setMethodFormTemplate"><method>purchaseorder</method><template>payment/form/purchaseorder.phtml</template></action>
     </block>
</block>

Le problème est le checkout / onepage / payment / methods.phtml, ces données doivent être chargées via une requête ajax. Remplacez cela par checkout / onepage / payment / info.phtml, donc comme ceci:

<block type="checkout/onepage_payment" name="checkout.onepage.payment" as="payment" template="checkout/onepage/payment.phtml">
     <block type="checkout/onepage_payment_methods" name="checkout.payment.methods" as="methods" template="checkout/onepage/payment/info.phtml">
          <action method="setMethodFormTemplate"><method>purchaseorder</method><template>payment/form/purchaseorder.phtml</template></action>
     </block>
</block>
Tantuss
la source
1

si votre modèle n'a pas d'avis = au bas de info.phtml ajoutez simplement

</script>
<script type="text/javascript">
//<![CDATA[
    review = new Review('<?php echo $this->getUrl('checkout/onepage/saveOrder',       array('form_key' => Mage::getSingleton('core/session')->getFormKey())) ?>', '<?php echo $this-  >getUrl('checkout/onepage/success') ?>', $('checkout-agreements'));
//]]>
</script>

au bas de ce fichier, par exemple ./app/design/frontend/blank/default/template/checkout/onepage/review/info.phtml

Andy
la source
1

J'ai eu le même problème avec rwd (iphone) storeview et résolu le premier problème avec

mais plus tard, j'ai toujours eu un problème (le bouton Continuer ne fonctionne pas) La solution consistait à collecter info.phtml à partir de / app / design / frontend / default / iphone / template / checkout / onepage / review

J'ai pris une ancienne version de travail.

Le fait étrange est que tout fonctionnait bien dans la vue du bureau.

Luca Pasqualotto
la source