Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

array_merge(): Argument#2 is not an array - при редактировании заказа


Recommended Posts

Доброго времени.

О проблеме- при редактировании заказа в админке при переходе к последнему шагу появляется сообщение

image.png.7c4cb30758ac6b0aab4ee48b3c4e000f.png

Данное сообщение появляется только когда включена доставка именно самовывозом из ПВЗ СДЕК, (используется модуль Сдек доставка+обмен) при чем не важно- в данном конкретном заказе выбрана ли доставка сдек или нет. при отключении варианта самовывоз из пвз,но включенных иных вариантах доставок сдек- данной проблемы нет.

 

что в строках:

$points = array_merge($this->pvzs, $this->postamats);

							foreach ($points as $point) {
								$map .= '<option value="' . $point['code'] . '" ' . (($point['code'] == $this->active_pvz_id && $point['type'] == 'PVZ') || ($point['code'] == $this->active_postamat_id && $point['type'] == 'POSTAMAT') ? 'selected="selected"' : '') . '>' . $point['address'] . '</option>';
							}

 

менял версию php с текущей 5.6 на 7.2- вроде как помогало- но не вариант так как на сайте есть модули под кубом которые 7.2 не поддерживают :(

готов оплатить помощь в решении проблемы

спасибо

 

Надіслати
Поділитися на інших сайтах


Если не вникать в суть, и не разбираться почему в "$this->postamats" некорректное значение, то разумно было бы отключить вывод ошибок на работающем магазине - вполне возможно, что после этого все будет работать несмотря на warning.

Змінено користувачем ClayRabbit
Надіслати
Поділитися на інших сайтах


В 10.09.2021 в 22:25, ClayRabbit сказал:

Если не вникать в суть, и не разбираться почему в "$this->postamats" некорректное значение, то разумно было бы отключить вывод ошибок на работающем магазине - вполне возможно, что после этого все будет работать несмотря на warning.

афигенный совет. отключили вывод ошибок а вот ошибка так и осталась. таких советчиков и врагов не надо

@Dimasscus у тебя какой то из аргументов не массив, а должен прилетать массив

 

Надіслати
Поділитися на інших сайтах

1 час назад, Venter сказал:

афигенный совет. отключили вывод ошибок а вот ошибка так и осталась. таких советчиков и врагов не надо

Строго говоря, там не "ошибка". Это Warning от php ломает JSON.

В любом случае, на продакшене вывод ошибок следует отключать, оставлять только запись в error.log.

Надіслати
Поділитися на інших сайтах


13 часов назад, ClayRabbit сказал:

Строго говоря, там не "ошибка". Это Warning от php ломает JSON.

В любом случае, на продакшене вывод ошибок следует отключать, оставлять только запись в error.log.

в любом случае что Warning что Notice нужно исправлять - это ошибки!!!!!

Надіслати
Поділитися на інших сайтах

В 11.09.2021 в 20:04, nikifalex сказал:

надо чуть выше глянуть оно ругается что не массив. А что? Ну забыли там инициализовать или сделать проверку какую-то.

 

Суть в том что на фронте все отрабатывает норм, а в админке при редактировании заказа идет обращение к модели фронта, и вот эта ошибка вылазит. Я так понимаю массив почтоматов не корректно получается или вообще не получается. Как пофиксить понимания нет. Разработчик модуля занял позицию в ракушке(вы не покупатель, ни чего не скажу:)) 

Надіслати
Поділитися на інших сайтах


В 11.09.2021 в 20:00, Venter сказал:

афигенный совет. отключили вывод ошибок а вот ошибка так и осталась. таких советчиков и врагов не надо

@Dimasscus у тебя какой то из аргументов не массив, а должен прилетать массив

 

Это ясно. Не ясно почему на фронте все ок, а в админке не получает список почтоматов массивом. Вот и прошу помощи. За деньги естественно. 

Надіслати
Поділитися на інших сайтах


20 минут назад, nikifalex сказал:

автор модуля то что говорит? 

Что я не покупал модуль. Ссылку на сайт и почту покупателя( владельца сайта) я ему выслал. Тишина.

Надіслати
Поділитися на інших сайтах


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

В классе определяется два свойства

private $pvzs = null;
private $postamats = null;

а далее, засовывает разработчик СРАЗУ это дело в 

$points = array_merge($this->pvzs, $this->postamats);

то есть ему плевать что там прилетает, массив или не массив

 

Ну так если они массивами должны быть то логичнее наверно

private $postamats = array();

 

в общем вроде как проблема решена

Надіслати
Поділитися на інших сайтах

6 часов назад, Venter сказал:

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

В классе определяется два свойства


private $pvzs = null;
private $postamats = null;

а далее, засовывает разработчик СРАЗУ это дело в 


$points = array_merge($this->pvzs, $this->postamats);

то есть ему плевать что там прилетает, массив или не массив

 

Ну так если они массивами должны быть то логичнее наверно


private $postamats = array();

 

в общем вроде как проблема решена

Да, проблема решилась, но вылезла новая. Возможно она и была ранее, но до этого шага не доходили по причине предыдущей. Вам огромное спасибо за то что помогаете. В теме модуля попробую написать снова, возможно разработчик прояснит причины такой траблы.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.