ошибка Illegal string offset

Ошибки при использовании модулей, установке и использовании опенкарта
diamante777
Сообщения: 3
Зарегистрирован: 06.02.2024

ошибка Illegal string offset

Непрочитанное сообщение diamante777 »

добрый день. Решил обновить сайт, было ocstore 3.0.2.0, шаблон ultrastore 2.1.3, PHP 7.2.34, стало ocstore 3.0.3.7, шаблон ultrastore 2.9, PHP 7.3.33. Ошибок не появлялось, после переноса БД с рабочего сайта стала появляться ошибка                                                                                                                                   PHP Warning:  Illegal string offset 'quantity' in /var/www/u0670627/data/www/mydomen.ru/catalog/model/octemplates/stickers/oct_stickers.php on line 58
при открытии любой карточки товара
в коде модели

            if ((isset($oct_stickers['stickers']['sold']['status']) && $oct_stickers['stickers']['sold']['status']) && (isset($oct_stickers['stickers']['sold']['auto']) && $oct_stickers['stickers']['sold']['auto'] == 'on')) {
                if ((int)$result['quantity'] == (int)$oct_stickers['stickers']['sold']['count']) {
                    $oct_stickers_data['stickers']['stickers_sold'] = [
                        'title' => (isset($oct_stickers['stickers']['sold']['title'][(int)$this->config->get('config_language_id')]) && !empty($oct_stickers['stickers']['sold']['title'][(int)$this->config->get('config_language_id')])) ? $oct_stickers['stickers']['sold']['title'][(int)$this->config->get('config_language_id')] : $this->language->get('entry_sticker_sold'),
                        'sort' => $oct_stickers['stickers']['sold']['sort']
                    ];
                }
            }
не подскажете где я мог накосячить?🤔
Аватара пользователя
Tom
Разработчик дополнений
Сообщения: 171
Зарегистрирован: 10.03.2022
Откуда: Казахстан - Алматы
Поблагодарил: 10 раз
Спасибо: 74 раз

Re: ошибка Illegal string offset

Непрочитанное сообщение Tom »

Накосячили здесь, пока писали сообщение. Нужно было это время затратить на написание этого вопроса автору шаблона у которого он был куплен.
diamante777
Сообщения: 3
Зарегистрирован: 06.02.2024

Re: ошибка Illegal string offset

Непрочитанное сообщение diamante777 »

дело в том что авторы шаблона прекратили поддержку *.ru в связи с известными событиями, при выводе переменной $result через print_r массив отображается корректно, так же как на рабочем сайте
Последний раз редактировалось diamante777 07 фев 2024, 11:30, всего редактировалось 1 раз.
Аватара пользователя
Tom
Разработчик дополнений
Сообщения: 171
Зарегистрирован: 10.03.2022
Откуда: Казахстан - Алматы
Поблагодарил: 10 раз
Спасибо: 74 раз

Re: ошибка Illegal string offset

Непрочитанное сообщение Tom »

Проблема в том, что код ожидает, что переменная $result['quantity'] будет числом, но она каким-то образом содержит нечто другое - возможно, текст вместо числа. Это  скорее всего и вызывает ошибку.
Чтобы исправить это, нужно сделать так, чтобы переменная $result['quantity'] всегда содержала числовое значение.
Проверьте откуда берется значение $result['quantity'] и убедитьесь, что оно является числом.
Может у вас там текст затесался.
ClayRabbit
Сообщения: 27
Зарегистрирован: 17.05.2022
Откуда: Тюмень
Спасибо: 12 раз
Контактная информация:

Re: ошибка Illegal string offset

Непрочитанное сообщение ClayRabbit »

Тут, судя по тексту ошибки, в переменной $result оказывается строковое значение вместо массива.
diamante777
Сообщения: 3
Зарегистрирован: 06.02.2024

Re: ошибка Illegal string offset

Непрочитанное сообщение diamante777 »

нашел какой модуль вызывает ошибку, осталось найти что он делает с этой переменной
Ответить