Ovaj error vrati API jer on ocekuje format u odredjenom obliku (vrlo vjerojatno decimalni zarez).
Thread Starter
sonnic
(@ikozlik)
Cudno mi je samo da je radilo do prije updatea tog Decimal Quantity plugina. Na frontendu i svugdje je i prije bilo tipa 2.5 (sa tockom), a cini mi se da onda Solo API plugin promijeni u 2,5.
(nemam log od Request bodya od ranije). Ali uredno je kolicina sa decimalom bila poslana u Solo.
Je li moguce da iako Solo API plugin “pripremi” kolicinu sa zarezom da ju ovaj plugin svejedno overridea?
Je li ovo dio koji uzima kolicinu i salje u SOLO API?
$quantity = (float)($itemData['quantity'] !== 0) ? $itemData['quantity'] : 1;
Linija 203 u SoloApiRequest.php
Ili ima jos negdje da se radi neka konverzija ili sl.?
Jedino sto mi pada na pamet da se zahooka za woo_solo_api_modify_request_body hook i rucno izmjeni body prije slanja.
Thread Starter
sonnic
(@ikozlik)
Iz nekog razloga ovaj plugin koji omogucuje unos/odabir decimalne kolicine nekog proizvoda od nove verzije mijenja kolicinu proizvoda na nacin da u Solo API salje kolicinu sa tockom umijesto zarezom. (do updatea je sve funkcioniralo, pa ne znam sto je sada drugacije).
No, sa ovime u woo_solo_api_modify_request_body hooku se rijesi problem:
$requestBody[“kolicina_$itemNo”] = str_replace(‘.’, ‘,’, $item->get_quantity());
Provjereno i sa kolicinom vecom od 1000 jer se kolicine vece od 1000 ne “salju” kao npr. 1,000.00 vec samo 1000.00 pa se uvijek samo mijenja decimalna tocka u decimalni zarez.
Pozz
Ovo je problem do drugog plugina pa cu staviti da je issue resolvean.
U WooCommerceu se daju namjestiti postavke za prikaz cijene, a SOLO servis sam ocekuje specifican format (sto je razlog zasto formatiram iznos na taj nacin).