Strona główna forum Wsparcie Problemy z działaniem Edycja zamówienia i metoda dostawy

Edycja zamówienia i metoda dostawy

Wszystkie problemy związane z działaniem sklepu...


Posty: 5
Gadu-Gadu: 0

[Magento 1.5.1.0]
Mam problem z edycją zamówienia - w formularzu edycji wszystko gra, ale wystarczy że dodam jakiś produkt lub zmodyfikuję istniejący znikają dostępne metody wysyłki i pojawia się link "Get shipping methods and rates" (Pobierz sposoby wysyłki i stawki). Po kliknięciu na link na chwilę pojawia się loader, potem strona się przeładowuje i nadal brak tych metod dostawy. Edytowanego zamówienia nie można wtedy zapisać. Oto screeny:

Przed modyfikacją produktów:
Obrazek

Po modyfikacji:
Obrazek

W logach magento nie mam nic - jak to mogę naprawić?

Edycja zamówienia i metoda dostawy

PostTeraz jest 27 kwi 2024, o 10:57
Google

Posty: 427
Lokalizacja: Internet


Posty: 1575
Gadu-Gadu: 0

masz jakiś problem z javascriptami pewnie, może wyskakuje jakiś błąd w wywołaniu AJAXowym, ciężko wyczuć po samych screnach
hosting-magento.pl / magentohosting.eu - szybki hosting Magento
https://www.mage24.pl/ - twój sklep Magento 2 w 5 minut


Posty: 5
Gadu-Gadu: 0

Mam firebuga, nie wyrzuca żadnych błędów. Jedyne co robi to wywołuje POST-em adres url:
index.php/admin/sales_order_edit/loadBlock/key/4e007e815fe70e1b57f0efc788fb7fbf/block/shipping_method,totals?isAjax=true

Parametry POST:
collect_shipping_rates=1
currency_id=false
customer_id=5316
form_key=ASbfOcpLuNRUUFKT
json=true
payment[method]=cashondelivery
store_id=1


Posty: 1575
Gadu-Gadu: 0

to nie ważne jakie ma parametry ale jaka jest odpowiedz
hosting-magento.pl / magentohosting.eu - szybki hosting Magento
https://www.mage24.pl/ - twój sklep Magento 2 w 5 minut


Posty: 5
Gadu-Gadu: 0

Zamiast dostać odpowiedź ajaxem strona się przeładowuje... Może spróbuję dodać jakiś swój moduł, który po prostu nadpisze ten blok, ale nie wiem czy nie rozwalę całkiem edycji zamówienia :)

edit:
znalazłem miejsce gdzie to się wywala:
Mage_Adminhtml_Block_Sales_Order_Create_Shipping_Method_Form::getShippingRates()

to jest ta funkcja:
public function getShippingRates()
{
if (empty($this->_rates)) {
$groups = $this->getAddress()->getGroupedAllShippingRates();
return $this->_rates = $groups;
}
return $this->_rates;
}

Gdy edytuję którykolwiek produkt, metoda $this->getAddress()->getGroupedAllShippingRates() zwraca null.
Wywołanie $this->getAddress()->getGroupedAllShippingRates() lub $this->getAddress()->getAllShippingRates() zwraca null.
Sprawdzałem, czy adres jest zdefiniowany - $this->getAddress() zwraca obiekt Mage_Sales_Model_Quote_Address zawierający odpowiednie dane, czyli chyba w porządku.

Edit:
Po dwukrotnym kliknięciu w link wspomniany wyżej i zmianie funkcji metody się pojawiają, ale trochę bez sensu że trzeba 2 razy przeładować stronę..

public function getShippingRates()
{
if (empty($this->_rates)) {
$groups = $this->getAddress()->getGroupedAllShippingRates();
if (!$this->_rates) {
$quote = $this->getQuote();

$quote->getShippingAddress()
->setCity()
->setCountryId('PL')
->setPostcode('12-345')
->setRegionId()
->setRegion()
->setCollectShippingRates(true);
$quote->save();
$this->_rates = $quote->getShippingAddress()->getGroupedAllShippingRates();
$groups = $quote->getShippingAddress()->getGroupedAllShippingRates();
}
return $this->_rates = $groups;
}
return $this->_rates;
}


Powrót do Problemy z działaniem