Pagamento alla pagina interrotto in 1.8?


12

Il nostro checkout sembra essere rotto e più persone sembrano avere il problema con magento 1.8. Semplicemente non fa nulla dopo aver premuto il pulsante continua al punto 4. Abbiamo eseguito PHP 5.4.19 e l'abbiamo provato in chromium v28, firefox v22, safari v5.1.

Non ci sono errori nei log ed è lo stesso nel tema predefinito.

Risposte:


15

Ho trovato la soluzione qui: http://www.magentocommerce.com/boards/viewthread/441003/#t460203

Vai a / app / design / frontend / base / default / template / checkout / onepage / file payment.phtml aprilo, linea 36

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

aggiungi id al fieldset

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

Grazie a hungtk2707!


2
Se non hai apportato modifiche al codice e i tuoi moduli di terze parti sono all'altezza, la maggior parte dei problemi di aggiornamento provengono da modelli e layout sviluppati per le versioni precedenti. Spesso si tratta di analizzare i modelli nell'area che ha esito negativo e di verificare le differenze di codice tra ciò che è nel modello e ciò che è presente nel modello di base appena installato. Nei layout, spesso cerca un blocco spostato, un nuovo blocco che deve essere aggiunto o simile. Come mostra il tuo post, hanno aggiunto un ID al set di campi di cui il javascript necessita come riferimento per passare al passaggio successivo.
Fiasco Labs

2
avevo appena installato una versione pulita di magento 1.8.1, e questo sembra essere un errore nel codice. Dovrebbe essere incluso nel file phtml di base.
Masu,

1
mi salvi la vita + 1
Ram Sharma,

5

Ho avuto anche il problema del checkout e ho trovato la soluzione:

In /template/checkout/onepage/review/info.phtml (alla fine)

sostituire

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

di

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'));

Dovrebbe risolvere il problema del checkout.


1
Sembra che l'esempio di codice sia incompleto. Modifica per includere la formattazione Markdown corretta.
entro il

Ciò ha risolto il mio problema per cui, dopo aver confermato, avrei ricevuto un 302 indietro e il modulo non sarebbe stato inviato.
woot586

2

Se aggiorni Magento (a 1.9.1) e il modello di checkout viene personalizzato e anche l'xml viene modificato.

Il look per questo:

<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>

Il problema è il checkout / onepage / payment / method.phtml, questi dati dovrebbero essere caricati attraverso una richiesta Ajax. Sostituiscilo con checkout / onepage / payment / info.phtml, quindi in questo modo:

<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>

1

se il tuo modello non ha review = nella parte inferiore di info.phtml basta aggiungere

</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>

alla fine di questo file, ad es ./app/design/frontend/blank/default/template/checkout/onepage/review/info.phtml


1

Ho avuto lo stesso problema con rwd (iphone) storeview e risolto il primo problema con

ma più tardi ho ancora avuto un problema (pulsante continua non funzionante) La soluzione era quella di raccogliere info.phtml da / app / design / frontend / default / iphone / template / checkout / onepage / review

Ho preso da una vecchia versione funzionante.

Il fatto strano è che tutto ha funzionato bene nella vista desktop.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.