Вход • Регистрация

Импорт товара и идентификатор

  • 06 ноября 2015 г. , редакция: 06 ноября 2015 г.
  • Доброго дня!

    С помощью импорта заливаю товар с уникальным идентификатором. В настройка импорта стоит идентификатор (собственное значение). Затем этот же файл импорта заливаю еще раз. В каталоге появляется 2 идентичных товара с одинаковыми идентификаторами, хотя по идее первая карточка товара просто должна обновиться. Что не так? Как правильно обновлять существующие карточки и избежать дублирования?
    Спасибо.
  • 07 ноября 2015 г. , редакция: 07 ноября 2015 г.
  • Проверти корректность файла импорта, а также после импорта в самой базе в таблице {shop}, в частности в поле "import_id" именно те значения, которые Вы передавали через файл импорта?
    Если не получится, то сообщите какую версию cms Вы используете, какое у Вас описание файла импорта, покажите сам файл импорта
    • 10 ноября 2015 г.
    • файл абсолютно корректный, уже залито около 2тыс. товаров. import_id тоже корректно заполняется в базе, значение которые передаю через импорт соответствуют import_id в базе.

      4690363000944;37,83;Каждый день;орехи;арахис;;;м/у;190;IMAG0194.jpg;Арахис Каждый день м/у 190 гр.;46 - файл импорта

      идентификатор;цена;производитель;список;список;список;список;список;число;название картинки;название;категория - шаблон импорта

      Попробовал еще раз. Создалось 2 одинаковых карточки. Создал шаблон импорта из 2х полей:

      идентификатор;цена

      после импорта цена обновилась у обеих карточек товара. Получается, что какие то поля можно обновлять с помощью import_id (цена, например), а какие то нет и они не обновляются, а создается новая карточка.

      Диафан стоит версии 5.4. Крутится на сборке OpenServer

      Куда в итоге копать в документации об этом ни слова.
      • 10 ноября 2015 г. , редакция: 10 ноября 2015 г.
      • Сделайте резеврную копию файлов и базы Вашего сайта. Обновити cms, временно в cms создайте новую тему и активируйте ее (в созданную тему НЕ заливайте файлы своих корректировок). Включите режим разработчика, отключите кеширование, сбросьте кеш. Импортируйте любой товар, например, с измененной ценой. Если даже товар имеет дубликат, то цена должна обновиться только у одного. Если именно так и произойдет, то ошибка в файлах, которые Вы корректировали.

        Если не получиться, сообщите какие ошибки вываливаются при включенном режиме разработки, проверьте целостность Вашей базы данных. Обратите внимание, достаточно ли времени выделено веб-сервером на исполнение скрипта, не достигнут ли лимит свободной оперативной памяти и жесткого диска сервера. Был у меня на памяти случай, не буду называть имя хостера (да бы не рекламировать), так он умудрялся ставить ограничение на количество файлов (т.е. проверти лимиты). Если есть доступ к логам сервера, то сообщите какие ошибки там зафиксированы в момент импорта.
  • 11 ноября 2015 г.
  • сделал чуток по другому, установил последнюю версию Диафан на другой хост, залил импорт, потом запустил повторно, дублей не создалось.
    • 11 ноября 2015 г.
    • Цитата
      ошибка в файлах, которые Вы корректировали

      или
      не корректно настроен первый хост, смотрите логи ошибок
  • 17 ноября 2015 г.
  • Получается следующая ситуация...Установил последний диафан, добавил необходимые характеристики, импортировал товар. Товар создался, все ок. Импортирую тот же файл заново, все ок, дублей не создается. Затем заливаю бекап через импорт, импорт проходит успешно, импортирую аналогичный файлик и...СОЗДАЕТСЯ ДУБЛЬ!
    Никаких файлов не правил, получается что дело в бекапе базы? Залез в базу, посмотрел, действительно 2 товара с одинаковым import_id создаются. В режиме разработчика никаких ошибок не выдает...Чудесаа.....сломал уже голову, что скажете?
    • 17 ноября 2015 г.
    • Т.е. случился "Оох" или "Уупс".
      Если серьезно, то скажите
      Цитата
      Затем заливаю бекап через импорт

      так, бекап какой брали: старый или тот, который сделали после импорта товаров?
      • 17 ноября 2015 г.
      • Изначально есть один локальный хост куда я заливаю товары. Там более 2 тыс. наименований на данный момент. В процессе наполнения заметил баг с дублированием карточек. Соответсвенно, бекап я делаю именно этого хоста.
        • 17 ноября 2015 г.
        • Нее. Вот Вы
          Цитата
          Установил последний диафан, добавил необходимые характеристики, импортировал товар. Товар создался, все ок. Импортирую тот же файл заново, все ок, дублей не создается.

          Затем Вы делаете Бекап, а после
          Цитата
          заливаю бекап через импорт

          Если именно так, то возможно надо проверить алгоритм импортирования бекапа, т.е. возможно он не удаляет старые данные из таблицы, а лишь добавляет. Т.е. в таблицы {shop} товар старый с id (например, с диапазоном от 1 до 2000) и импорт_id (например, с диапазоном от 1 до 2000). После импорта бекапа, скорее всего в таблицы {shop} товар с id (например, с диапазоном от 1 до 4000) и импорт_id (например, с диапазоном от 1 до 2000 дважды). Так?
          • 17 ноября 2015 г.
          • Виталий, поясню еще раз...
            У меня есть основной сайт, который болтается на локалке. Именно его я и бэкаплю.
            Т.к. есть проблема с задвоением карточек, я создал другой хост-установил туда Диафан-создал произвольный файл импорта-создал нужные характеристики в каталоге-импортировал файл-создался товар-импортировал повторно, дублей не создалось, товар обновился.
            Далее...на новый хост я накатываю бекап основного сайта, потом через импорт пытаюсь обновить любой товар, и карточка задваивается.
          • 17 ноября 2015 г.
          • Цитата
            После импорта бекапа, скорее всего в таблицы {shop} товар с id (например, с диапазоном от 1 до 4000) и импорт_id (например, с диапазоном от 1 до 2000 дважды). Так?

            Бекап как раз нормально проходит, я смотрел сам скрипт бекапа, там сначала идет очистка таблиц, а потом наполнения. Косяк именно с импортом. Причем после заливки бэкапа.
            • 17 ноября 2015 г. , редакция: 17 ноября 2015 г.
            • Скорее всего, Вы берете бекап базы с основного сайт, в котором изначально нарушена целостность базы данных. Возможно из-за этого и ошибка. Для исправления таблиц базы данных MySQL воспользуйтесь средствами phpmyadmin или непосредственно утилитой mysqlcheck. Дополнительно обратите внимание на кодировку баз данных. Там и там должна быть одинаковая utf-8
  • 17 ноября 2015 г.
  • Удалил описание импорта, создал новое, залил...ДУБЛЕЙ НЕТ!!! Проверил на основном хосте...Это капец...кто бы знал...
    • 17 ноября 2015 г.
    • Что и требовалось доказать, проблема не в cms, а в целостности бд. Успехов.

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум