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 29 kwi 2025, o 10:10
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:
1
2
3
4
5
6
7
8
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ę..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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



cron