• Главная
  • Поиск
    •  
  • Здравствуйте, Гость

Автор Тема: Ошибка плагина недвижимости Illegal string offset 'pk_i_id' conf.php on line 39  (Прочитано 3260 раз)
  • *
  • Сообщений: 2
Ничего не менял в настройках и при входе в настройки плагина сразу вылезла ошибка:
Warning: Illegal string offset 'pk_i_id' in /home/host4410/matroska.net/htdocs/www/oc-content/plugins/realestate_attributes/conf.php on line 39

39-я строка: $lastId = $lastId['pk_i_id'] + 1 ;

Также дает такую ошибку при попытке добавить варианты недвижимости:
Warning: Illegal string offset 's_name' in /home/host4410/matroska.net/htdocs/www/oc-content/plugins/realestate_attributes/conf.php on line 109

109-110 строки:
foreach ($property_type as $c) {
                            $data[$locale['pk_c_code']] = array('pk_i_id' => $c['pk_i_id'], 's_name' => $c['s_name']);
                        }

Почему скрипт ругается?
Как исправить?
Спасибо.

Оффлайн Dis
  • Admin
  • *****
  • Сообщений: 1745
    • Шаблоны и плагины Osclass
Этот плагин авторы не обновляли достаточно давно.
Есть идея его пофиксить самостоятельно.
А в общем...это не критичная ошибка.
Warning - это предупреждение.
Отключите вывод на сайте ошибок, пишите их в логи.
Доработки любой сложности.
Задание присылайте в личку.

  • *
  • Сообщений: 17
не знаю как он там обновляется или нет, но у меня эта же ошибка на 113 строке, значит чего то там в исходниках поменяли
ну и как бы природа происхождения ошибки - отсутствие запрашиваемых данных в массиве
кроме того, плагин не позволяет изменить тип сделки например, т.е. при редактировании объявления выставляешь Продается, а после сохранения все равно остается Сдается

  • *
  • Сообщений: 17
может кому пригодится, внес исправления :

1. для устранения ошибок типа:
Warning: Illegal string offset 'pk_i_id' in /home/host4410/matroska.net/htdocs/www/oc-content/plugins/realestate_attributes/conf.php on line 109
 Warning: Illegal string offset 's_name' in /home/host4410/matroska.net/htdocs/www/oc-content/plugins/realestate_attributes/conf.php on line 109

line может быть другой у меня 113

в файле ./oc-content/plugins/realestate_attributes/conf.php найдите в районе указанного в WARNING line, такой код:
$data = array();
foreach ($property_type as $c) {
    $data[$locale['pk_c_code']] = array('pk_i_id' => $c['pk_i_id'], 's_name' => $c['s_name']);
}
и замените его этим кодом:
$data = [];
if(!isset($c) && !empty($property_type))
    $data[$locale['pk_c_code']] = array('pk_i_id' => $c['pk_i_id'], 's_name' => $c['s_name']);

для устранения ошибки
 Warning: Illegal string offset 'pk_i_id' in /home/host4410/matroska.net/htdocs/www/oc-content/plugins/realestate_attributes/conf.php on line 39

line может быть другой у меня 42

в файле ./oc-content/plugins/realestate_attributes/conf.php найдите в районе указанного в WARNING line, такой код:
$lastId = $lastId['pk_i_id'] + 1 ;заменяем его на
$lastId++;
вообще не понятно как с такими багами был принят данный плагин, ошибки в банальном копипасте, т.е. откуда в $lastId обычной переменной может быть ячейка массива ['pk_i_id']  не понятно

2. не сохраняет изменения при редактировании поля тип сделки пользователем
все дело в переводе, в колонках таблицы нужно изменить значения перечисления на эти:
/*TABLE_PREFIX*/t_item_house_attr (
    e_type ENUM('FOR RENT', 'FOR SALE'),
    e_status ENUM('NEW CONSTRUCTION', 'TO RENOVATE', 'GOOD CONDITION'),
и все сразу заработало,

3. в админке не удаляются типы объектов
в файле  ./oc-content/plugins/realestate_attributes/conf.php найдите строку:
<button><?php _e('Delete''realestate_attributes'); ?></button></a>замените ее на
<button type="button"><?php _e('Delete''realestate_attributes'); ?></button></a>
для тех кто не понимает в программировании, могу отправить готовый плагин с вышеуказанными доработками, пишите в Telegram: @coder_ex т.к. тут бываю редко ))

ps. теперь буду искать проблему не работающего фильтра в поиске, удивительно, что все эти баги относятся к прямому функционалу плагина и ни кто за столько лет об этом не спросил...
« Последнее редактирование: 11 Февраль 2020, 06:07:05 от kkw.mobile »

 


test