logan Опубликовано 5 октября, 2017 Жалоба Поделиться Опубликовано 5 октября, 2017 Приветствую. На днях прилетел заказ больше 100 позиций. Часть из заказа просто не дошла сначала в админку (т.е. в корзину было на 50 000р , а в админке 32 000р) и потом после смены статуса на принят - стало 28 000р. Подсчитали позиции и в итоге части товаров просто нету в заказе. Кол-во у них не менялось. Как такое может быть? Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 5 октября, 2017 Жалоба Поделиться Опубликовано 5 октября, 2017 скорее всего вам нужно увеличивать max_input_vars для сервера. существуют лимиты на отправку переменных в одном запросе. обратитесь к хостеру, если не знаете что это, они должны помочь Цитата Ссылка на сообщение Поделиться на другие сайты
alasfan Опубликовано 5 октября, 2017 Жалоба Поделиться Опубликовано 5 октября, 2017 Скорее всего, max_input_vars тут ни при чем. Обычно, чтобы проявилась нехватка значения max_input_vars, надо товаров побольше, чем одна-две сотни. Более вероятно, что это ошибка Simpla, связанная с // По умолчанию $limit = 100;в api/Products.php Во всяком случае, в simpla/OrderAdmin.php по покупкам извлекаются из базы не более 100 товаров. Остальные, стало быть, теряются... Цитата Ссылка на сообщение Поделиться на другие сайты
logan Опубликовано 5 октября, 2017 Автор Жалоба Поделиться Опубликовано 5 октября, 2017 скорее всего вам нужно увеличивать max_input_vars для сервера. существуют лимиты на отправку переменных в одном запросе. обратитесь к хостеру, если не знаете что это, они должны помочьДобавил в php.ini, посмотрим, но не уверен что заработает. Скорее всего, max_input_vars тут ни при чем. Обычно, чтобы проявилась нехватка значения max_input_vars, надо товаров побольше, чем одна-две сотни. Более вероятно, что это ошибка Simpla, связанная с // По умолчанию $limit = 100;в api/Products.php Во всяком случае, в simpla/OrderAdmin.php по покупкам извлекаются из базы не более 100 товаров. Остальные, стало быть, теряются...Подскажите пожалуйста, где конкретно копать? в api/products и api/orders - лимиты для вывода кол-ва товаров и кол-ва заказов на страницах каталога и заказов, а не товаров в заказе принимаемых. Или я не прав? Цитата Ссылка на сообщение Поделиться на другие сайты
alasfan Опубликовано 5 октября, 2017 Жалоба Поделиться Опубликовано 5 октября, 2017 Подскажите пожалуйста, где конкретно копать?Ранее была подсказка точная:...в simpla/OrderAdmin.php по покупкам извлекаются из базы не более 100 товаров. Остальные, стало быть, теряются... Цитата Ссылка на сообщение Поделиться на другие сайты
logan Опубликовано 5 октября, 2017 Автор Жалоба Поделиться Опубликовано 5 октября, 2017 Ранее была подсказка точная:Там нет ничего не стандартного и фильтра на вывод нет, кроме как: $filter = array(); $filter['sort'] = 'sku'; Цитата Ссылка на сообщение Поделиться на другие сайты
alasfan Опубликовано 5 октября, 2017 Жалоба Поделиться Опубликовано 5 октября, 2017 Там есть стандартная ошибка Simpla... Цитата Ссылка на сообщение Поделиться на другие сайты
logan Опубликовано 6 октября, 2017 Автор Жалоба Поделиться Опубликовано 6 октября, 2017 Там есть стандартная ошибка Simpla...Я в коде не силен. Почему бы сразу не сказать, какая? Цитата Ссылка на сообщение Поделиться на другие сайты
alasfan Опубликовано 6 октября, 2017 Жалоба Поделиться Опубликовано 6 октября, 2017 Я в коде не силен. Почему бы сразу не сказать, какая? Уже сказано в #3: ...в simpla/OrderAdmin.php по покупкам извлекаются из базы не более 100 товаров. Остальные, стало быть, теряются... Цитата Ссылка на сообщение Поделиться на другие сайты
logan Опубликовано 6 октября, 2017 Автор Жалоба Поделиться Опубликовано 6 октября, 2017 Уже сказано в #3: Я просил помощи, а не говорить загадками. Цитата Ссылка на сообщение Поделиться на другие сайты
Решение mishanya Опубликовано 6 октября, 2017 Решение Жалоба Поделиться Опубликовано 6 октября, 2017 (изменено) Я просил помощи, а не говорить загадками. попробуйте заменить в simpla/OrderAdmin.php $products = array(); foreach($this->products->get_products(array('id'=>$products_ids)) as $p) $products[$p->id] = $p; на $products = array(); foreach($this->products->get_products(array('id'=>$products_ids, 'limit'=>count($products_ids))) as $p) $products[$p->id] = $p; но утерянного заказа это уже не вернет, он был пересохранен с тем кол-вом товаров.можно протестировать на новом Изменено 6 октября, 2017 пользователем mishanya Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.