, 그것은 잘 작동하는 것 같군,하지만 문제는 :자동 onepage 체크 아웃 젠토 - 배송 방법
모든 2 차 같은 오류 "가있는 배송 방법을 지정하십시오 "
세션 오류 일 수 있습니까? 변수는 다른 방식으로 Magento에서 가져 오기 또는 가져 오기를 통해 보내야합니까?
<?php
$customer = Mage::getSingleton('customer/session')->getCustomer();
$customer->setWebsiteId(Mage::app()->getWebsite()->getId());
echo $customAddress = Mage::getModel('customer/address')->load($customer->getDefaultBilling());
$quote = Mage::getSingleton('checkout/session')->getQuote()->setBillingAddress(Mage::getSingleton('sales/quote_address')->importCustomerAddress($customAddress));
$cart = Mage::getSingleton('checkout/cart');
$storeId = Mage::app()->getStore()->getId();
$checkout = Mage::getSingleton('checkout/type_onepage');
$checkout->initCheckout();
$checkout->saveCheckoutMethod('register');
$checkout->saveShippingMethod('matrixrate_matrixrate_35');
$checkout->savePayment(array('method'=>'pay'));
Mage::getSingleton('checkout/type_onepage')->getQuote()->getShippingAddress()->setShippingMethod('matrixrate_matrixrate_35');
try {
if ($checkout->saveOrder()) {echo "SUCCESSSSS!!!";}}
catch (Exception $ex) {
echo $ex->getMessage();
}
/* Clear the cart */
$cart->truncate();
$cart->save();
$cart->getItems()->clear()->save();
Mage::getSingleton('checkout/session')->clear();
그것은 사용자 정의 지불 게이트웨이라는 지불을 사용하고 내가 배송 matrixrate 확장자를 사용하고, althought이 flatrate_flatrate에 같은 eror이 그래서 확장 문제로 고려 don'd : 여기
는 코드입니다 .감사합니다 !!!
아담
업데이트 : 주문 후 카트를 비우는 중, 나는 이제 배송 가격 문제를 해결하고 있습니다. 또한 장바구니 페이지에 배송 방법을 설정하는 코드를 추가했습니다. –
var_dumps 또는 echos를 사용하지 않는 것이 좋습니다. 때로는이 인쇄물이 전에 언급 한 것과 같은 "경고"오류를 보내기 때문입니다. –
감사합니다 베토, 내가 그들을 없애 버릴거야. 업데이트 : 장바구니를 처리 할 수 있었지만 배송 방법이 없다는 사실을 알리는대로 사용자 로그인이 처리되지 않는 첫 번째 주문, 두 번째 및 나머지는 정상적으로 작동합니다. –