Перейти к содержимому


Фотография
- - - - -

Появилась ошибка в "Заказы" Warning: Invalid argument supplied for foreach() in jborder.php on line 825


Лучший Ответ SmetDenis , 14 May 2016 - 12:06

Здравствуйте,

 

Я посмотрел ваш сайт.

Дело было в поле базы данных, где хранится список товаров.

 

У вас заказ обычно содержит большое кол-во разных товаров. В итоге это не помещалось в текстовое поле базы данных и конец JSON обрезался.

Он становился не валидным.

 

Я исправил тип поля, теперь туда сможет сохранится гораздо большое.

И вручную исправил JSON в сломанных заказах. Поэтому в некоторых заказах в конце может не хватать товаров. 

К сожалению, их у же не получится восстановить.

 

 

В моей практике такой случай (очень большие заказы) впервые, поэтому не знал о таком баге.

Больше он вас не должен беспокоить.

Добавил правку для будущей версии.

Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 4

#1 arrow51

arrow51

Отправлено 12 May 2016 - 20:36

Добрый день.
Joomla: 3.5.1 JBZoo: 2.2.7 Pro rev3148 Zoo: 3.3.17 WidgetKit: 2.7.1
 
 
Начала появляться ошибка в админке в разделе "Заказы" 
 
Warning: Invalid argument supplied for foreach() in/home/sharovit/ballons.by/media/zoo/applications/jbuniversal/framework/classes/cart/jborder.php on line 825 
 
Ошибка  странная у меня ее повторить не получается (что я только с заказом не повторял....), а вот у пользователей - с завидной регулярностью....  в 825 строке как я понял идет проверка даты. Удалил из полей заказов все даты - ошибка появляется
при этом на email приходит нормальный заказ. а в админке - нет ничего - только ошибка.  Сумма 0, данных о заказе нет.....
 
Подскажите пожалуйста,  куда копать. 

Прикрепленные изображения

  • error1.png

  • 1

#2 SmetDenis

SmetDenis

Отправлено 13 May 2016 - 14:53

Теоретически ошибка может быть из-за способа хранения сессии.
Это задается в настройках Joomla. Рекомендую не использовать базу данных либо какие-либо модули кеша. Т.е отключить обработчик.

Могу посмотреть ваш сайт если дадите доступы (ftp и панель управления) т.к. у меня эта ошибка тоже не повторяется.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 SmetDenis

SmetDenis

Отправлено 14 May 2016 - 12:06   Лучший Ответ

Здравствуйте,

 

Я посмотрел ваш сайт.

Дело было в поле базы данных, где хранится список товаров.

 

У вас заказ обычно содержит большое кол-во разных товаров. В итоге это не помещалось в текстовое поле базы данных и конец JSON обрезался.

Он становился не валидным.

 

Я исправил тип поля, теперь туда сможет сохранится гораздо большое.

И вручную исправил JSON в сломанных заказах. Поэтому в некоторых заказах в конце может не хватать товаров. 

К сожалению, их у же не получится восстановить.

 

 

В моей практике такой случай (очень большие заказы) впервые, поэтому не знал о таком баге.

Больше он вас не должен беспокоить.

Добавил правку для будущей версии.


  • 4
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#4 arrow51

arrow51

Отправлено 15 May 2016 - 07:39

Спасибо. Все отображается. 
Насколько я понимаю можно снова включить в настройках системы Joomla обработчик сессий "база данных" ?  

Еще раз большое спасибо.


  • 0

#5 SmetDenis

SmetDenis

Отправлено 16 May 2016 - 19:40

Насколько я понимаю можно снова включить в настройках системы Joomla обработчик сессий "база данных" ?  

Да, дело было не в сессии.

 

Хотя мой скромный опыт говорит, что лучше не использовать обработчики для сессий.


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.





Click to return to top of page in style!