Где возникла проблема: Multi-Vendor 4.18.3.
я перешла на версию php 8.0 и возникла ошибка со статусами заказа после оплаты цифрового товара.
в чем проблема: $v[‘amount’] (количество товара) — где-то стал строкой (например, '1'
вместо 1
), а PHP 8+ не позволяет умножать строку на int без приведения типов.
получается надо функцию как-то поменять в ядре?
foreach ($order_info[‘products’] as $v) {
if (isset($v[‘amount’])) {
$v[‘amount’] = (int)$v[‘amount’];
}
…
}
из-за этого даже админ не может менять статусы заказов, статус всегда стоит как “неподтвержденный” даже если платежная система написала, что заказ подтвержден и на другой не меняется.
Пока вернулась обратно на 7.4, там всё работает. Подскажите в чём именно проблема?