Кемеровские программисты php общаются здесь
Anonymous
Вызов Magento2 в функцию члена __toarray () ошибка при сохранении данных обратного
Сообщение
Anonymous » 15 мар 2025, 23:39
Я настраиваю метод рецепта в моей модели < /p>
Код: Выделить всё
$method = $this->rateMethodFactory->create();
$method->setCarrier($this->_code);
$method->setCarrierTitle($this->getConfigData("title"));
$type = $this->getType($bodyForReference);
$info = $this->getExtraInfo($type, $shippingOption, $response);
$methodTitle = $shippingOption['name'] . " - " . " Delivery time " . $shippingOption['transit_days'] . " day(s)";
$method->setMethodTitle($methodTitle);
$method->setMethodDescription($info . ";" . $type);
$shippingCost = (float)$shippingOption['currency_quote_amount'];
if ($type == 1 || $type == 2) {
$shippingCost += $shippingOption["tax_details"]["tax_value_details"]["duty_value"];
$shippingCost += $shippingOption["tax_details"]["tax_value_details"]["vat_value"];
} elseif ($type == 5 || $type == 6) {
$shippingCost += $shippingOption["tax_final"];
}
$method->setMethod("".$shippingCost.$medidas);
$shippingCost = $this->getFinalPriceWithHandlingFee($shippingCost);
if ($shippingCost !== false && $request->getPackageQty() == $freeBoxes) {
$shippingCost = '0.00';
}
$method->setPrice($shippingCost);
$method->setCost("".$shippingCost);
$result->append($method);
< /code>
В моем di.xml я предпочитаю мой транспортный преобразователь < /p>
< /code>
Но когда я звоню __toarray () в моем результате, чтобы прийти к описанию моего метода, я получаю ошибку заголовка < /p>
public function modelToDataObject($rateModel, $quoteCurrencyCode)
{
$result = parent::modelToDataObject($rateModel, $quoteCurrencyCode);
$result->setData('method_description', $rateModel->getData('method_description'));
return $result->__toArray();
}
и я знаю, что method_description заполняется
Я попытался проверить, является ли __toarray () функцией результата, которая является.>
Подробнее здесь:
https://stackoverflow.com/questions/795 ... -back-data
1742071151
Anonymous
Я настраиваю метод рецепта в моей модели < /p> [code]$method = $this->rateMethodFactory->create(); $method->setCarrier($this->_code); $method->setCarrierTitle($this->getConfigData("title")); $type = $this->getType($bodyForReference); $info = $this->getExtraInfo($type, $shippingOption, $response); $methodTitle = $shippingOption['name'] . " - " . " Delivery time " . $shippingOption['transit_days'] . " day(s)"; $method->setMethodTitle($methodTitle); $method->setMethodDescription($info . ";" . $type); $shippingCost = (float)$shippingOption['currency_quote_amount']; if ($type == 1 || $type == 2) { $shippingCost += $shippingOption["tax_details"]["tax_value_details"]["duty_value"]; $shippingCost += $shippingOption["tax_details"]["tax_value_details"]["vat_value"]; } elseif ($type == 5 || $type == 6) { $shippingCost += $shippingOption["tax_final"]; } $method->setMethod("".$shippingCost.$medidas); $shippingCost = $this->getFinalPriceWithHandlingFee($shippingCost); if ($shippingCost !== false && $request->getPackageQty() == $freeBoxes) { $shippingCost = '0.00'; } $method->setPrice($shippingCost); $method->setCost("".$shippingCost); $result->append($method); < /code> В моем di.xml я предпочитаю мой транспортный преобразователь < /p> < /code> Но когда я звоню __toarray () в моем результате, чтобы прийти к описанию моего метода, я получаю ошибку заголовка < /p> public function modelToDataObject($rateModel, $quoteCurrencyCode) { $result = parent::modelToDataObject($rateModel, $quoteCurrencyCode); $result->setData('method_description', $rateModel->getData('method_description')); return $result->__toArray(); } [/code] и я знаю, что method_description заполняется Я попытался проверить, является ли __toarray () функцией результата, которая является.> Подробнее здесь: [url]https://stackoverflow.com/questions/79511404/magento2-call-to-a-member-function-toarray-error-when-saving-back-data[/url]