Я недавно обновил сайт Joomla до v3.9 и запустил K2store для функциональности покупок.Что я заметил, так это то, что страница проверки работает нормально на php7.0, но как только я обновляюсь до php7.2, она выдает ошибку " Исправимая фатальная ошибка: объект класса stdClass не может быть преобразован в строку ».Мой хостинг-провайдер обновляет все свои сервисы, чтобы поддерживать только php7.2 - вот почему мне нужно обновить веб-сайт.
Ниже приведен код, который генерирует раскрывающийся список стран на странице оформления заказа, на которойошибка.
function setValues(&$zones,&$fields,$k,&$field){
if($field->field_type=='zone' && !empty($field->field_options['zone_type']) && $field->field_options['zone_type']=='country'){
foreach($zones as $zone){
$title = $zone->country_name;
$obj = new stdClass();
$obj->value = $zone->country_name;
$obj->disabled = '0';
$fields[$k]->field_value[$zone->country_id]=$obj;
}
} elseif($field->field_type=='zone' && !empty($field->field_options['zone_type']) && $field->field_options['zone_type']=='zone'){
foreach($zones as $zone){
if(isset($zone->zone_id)) {
$title = $zone->zone_name;
$obj = new stdClass();
$obj->value = $title;
$obj->disabled = '0';
$fields[$k]->field_value[$zone->zone_id]=$obj;
}
}
}
}
Ошибка в полях $ [$ k] -> field_value [$ zone-> zone_id] = $ obj; в обоих операторах if.
Буду признателен, если вы объясните, что вызывает ошибку в php7.2 и как я могу это исправить.Лучше понять, как решена проблема, а затем просто скопировать и пройти код :).Спасибо заранее!