Помогите, пожалуйста, найти ошибку
После обновления miniShop2, скрипт импорта стал работать несколько некорректно: начали появляться «пустые» товары (Отсутствуют артикул, и все свойства товара. А вот alias создается, ровно как и сам товар создается там где нужно, в правильной категории). Несмотря на это, в базе, «пустых» товаров нет, все заливается правильно.

Помогите, пожалуйста, найти ошибку.

Помогите, пожалуйста, найти ошибку.
Комментарии: 8
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Скрипт импорта с простейшей логикой — берет специально подготовленный текстовый файлик, в котором содержится информация, с разделителем | и парсит его построчно забивая массив параметров.
Каждая позиция -определенное поле в MS2.
Вот пример набора данных:
ну и соответственно это породит такой вот массив:
Далее идет соотношение MS2 к полям массива, в итоге получаем массив $productArray.
Далее делается простая логика- что если товара с артикулом $productArray['article'] нету, то мы заводим новый, стандартным методом xPDO
ну и после этого, если все создалось мы просто берем и заполняем соответствующие поля и сохраняем ресурсы.
Да, там еще есть логика загрузки картинки, используя стандартный процессор MS2 ну и еще по мелочи, но суть предельна ясна.
Так вот, эта линейная логика на сервере у ТС работает, но через 1 строку-т.е первая строка обрабатывается, вторая нет, но сам getObject и save обрабатывается, а заполнение данными — нет. т.е затык наПри этом массив заполняется корректно, т.к я делаю ему print_r и смотрю что получилось, да и в журнал ничего не падает.
На локальном сервере у меня все отрабатывает как надо, товары создаются параметры тоже… На Modx-test.com не проверял, но думаю будет все тоже ОК.
Поэтому, предполагаю что проблема с сервером.
А самим снипетом ТС может поделиться с общественность, если захочет… Могу предположить, что он может быть кому-то полезен.
Вот как-то так…
2й вариант — поколдовать с fromArray, например вот так:
Будет выставление первичного ключа и не будет конвертации значений,
3й вариант, уже от балды:
Аналогичен предыдущему.
Если не поможет — то нужно смотреть исходный код скрипта.
Похоже, что из-за какой то ошибки к свежесозданному объекту msProduct не привязывается объект msProductData и просто некуда сохранять дополнительные значения, такие как цена, вес и пр.
2,3 — пробовал сразу выставить подобное. не помогло…
По поводу ошибки — я ТС попросил протестить на нормальном сервере (Modx-test.com, или свой сделанный по твоей статье), у меня то все на локале работает.
Странная штука конечно…
Clean, скажите, вы когда тестировали у себя, вы добавляли новые дополнительные поля товарам? (по методу, описанному Василием bezumkin.ru/modx/minishop2/classes/910/). Просто что-то я делаю не так, и сомневаюсь что дело в какой-то совместимости, это наверняка моя ошибка, помогите мне найти её, пожалуйста.
Но тем не менее все поля по умолчанию подтянулись корректно у меня, в отличии от Вашего сервера.
Возможно с плагинами может быть такая же беда…
Я сейчас не готов чем либо еще помогать — много работы, предполагаю что нужно просить Василия, а в идеале переписать с использованием процессоров ваш сниппет.
Сам я этого сделать, в любом случае, не сумею, но с удовольствием заплатил бы, сколько нужно, человеку, который бы для меня это сделал. Но таких людей найти сейчас практически нереально, я львиную долю свободного времени занимаюсь этим поиском, и единственное место, где мне помогли — блог Василия.
Могу я предложить вам этот скрипт, на свободное распространение, взамен на помощь в его доработке?