Kasa na jednej stronie zepsuta w wersji 1.8?


12

Nasza kasa wydaje się być zepsuta i wydaje się, że coraz więcej osób ma problem z magento 1.8. Po prostu nic nie robi po naciśnięciu przycisku Kontynuuj w kroku 4. Uruchamiamy PHP 5.4.19 i wypróbowaliśmy go w chromie v28, firefox v22, safari v5.1.

W dziennikach nie ma błędów i jest taki sam w domyślnym motywie.

Odpowiedzi:


15

Znaleźć rozwiązanie tutaj: http://www.magentocommerce.com/boards/viewthread/441003/#t460203

Idź do / app / design / frontend / base / default / template / checkout / onepage / file payment.phtml otwórz go, linia 36

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

dodaj identyfikator do zestawu pól

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

Dzięki hungtk2707!


2
Jeśli nie wprowadzono żadnych modyfikacji kodu, a moduły innych firm są w stanie poradzić sobie z większością problemów, większość problemów związanych z aktualizacją pochodzi z szablonów i układów opracowanych dla poprzednich wersji. Często zdarza się, że przeglądanie szablonów w obszarze kończy się niepowodzeniem i sprawdzanie różnic w kodzie między tym, co znajduje się w szablonie, a tym, co znajduje się w nowo zainstalowanym szablonie podstawowym. W układach często szuka przeniesionego bloku, nowego bloku, który należy dodać lub w podobny sposób. Jak pokazuje Twój post, dodali identyfikator do zestawu pól potrzebnego w javascript do odwołania, aby przejść do następnego kroku.
Fiasco Labs,

2
Właśnie zainstalowałem czystą wersję Magento 1.8.1 i wydaje się to być błędem w kodzie. Powinien być zawarty w podstawowym pliku phtml.
Masu

1
ratujesz mi życie + 1
Ram Sharma

5

Miałem również problem z kasą i znalazłem rozwiązanie:

W /template/checkout/onepage/review/info.phtml (na końcu)

zastąpić

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

przez

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

Powinno to rozwiązać problem z kasą.


1
Wygląda na to, że twój przykładowy kod jest niekompletny. Edytuj, aby uwzględnić prawidłowe formatowanie Markdown.
zyskuje

Rozwiązało to mój problem polegający na tym, że po trafieniu potwierdź, że otrzymam 302, a formularz nie zostanie przesłany.
woot586,

2

Jeśli uaktualnisz swój Magento (do 1.9.1), a szablon kasy zostanie dostosowany, a także xml zostanie zmieniony.

Wygląd tego:

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

Problemem jest kasa / onepage / payment / methods.phtml, dane te należy załadować za pośrednictwem żądania ajax. Zamień to na checkout / onepage / payment / info.phtml, więc w ten sposób:

<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

jeśli twój szablon nie ma oceny = na dole info.phtml po prostu dodaj

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

na dole tego pliku, np. ./app/design/frontend/blank/default/template/checkout/onepage/review/info.phtml


1

Miałem ten sam problem z podglądem sklepu rwd (iPhone) i rozwiązałem pierwszy problem

ale później nadal miałem problem (przycisk kontynuacji nie działa) Rozwiązaniem było zebranie info.phtml z / app / design / frontend / default / iphone / template / checkout / onepage / review

Wziąłem ze starej działającej wersji.

Dziwny jest fakt, że wszystko działało dobrze w widoku pulpitu.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.