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

Импорт фото из 1С

  • 08 октября 2016 г.
  • Если у товара загружена 1-2 фотографии, то после повторного импорта они затираются 1 фотографией из 1С.
    Даже если изображения стоят в стандартном поле или в дополнительной характеристике.

    Как быть? Надо и новые фото подгружать из 1С, и через админку заливать фотографии для товара и не только одну.

    Спасибо!
    • 08 октября 2016 г.
    • Во время импорта алгоритм считает, что если указано только одна картинка, значит остальные имеющиеся он стирает. Если необходимо иное действо, то необходимо поколдавать над алгоритмом импорта. Например, расширить функционал. Допустим в описании импорта для изображений добавить пункт: Удалять все изображения, неописанные в файле импорта.

      Вообще я думал сделать плагин для diafan.cms, который бы расширел функциональность cms, но пока не до этого. Вся проблема в ограниченности часов в сутках.
      • 10 октября 2016 г. , редакция: 10 октября 2016 г.
      • Виталий, Вы готовы помочь внести корректировку в работу импорта?
        За оплату конечно же.
        • 11 октября 2016 г.
        • Цитата
          Если у товара загружена 1-2 фотографии, то после повторного импорта они затираются 1 фотографией из 1С.
          Цитата
          Как быть?
          Не думаю, что есть необходимость заморачиваться. Просто передавайте во время импорта полный набор изображений, а не частичный.
          • 11 октября 2016 г.
          • А в случае когда в 1С лежит 1 фото (главное), а все остальные подгружаются в админке как быть?
            • 12 октября 2016 г.
            • Берем файл shop.admin.import.php и находим функцию
              Код
              public function set_images(){ ... }
              Практически в самом начале кода функции есть строчка
              Код
              $this->diafan->_images->delete($this->id, 'shop', $this->import["element_type"], 0);
              Найдя указанную строчку просто комментируем ее вот так
              Код
              //$this->diafan->_images->delete($this->id, 'shop', $this->import["element_type"], 0);
              Что получим в результате: во время импорта картинок не будут удалятся ранее загруженные изображения.
              Как-то так. Успехов.
              • 12 октября 2016 г.
              • Виталий, ответьте, пожалуйста, на личное сообщение.
                Спасибо!
              • 12 октября 2016 г.
              • Да, забыл. Чуть выше мой ответ касался обычного импорта. Аналогично можно поступить и с импортом 1С.
                Берем файл shop.1c.php и находим функцию
                Код
                private function import_img($xml_product, $id, $site_id){ ... }
                Там, в начале кода функции, есть строчка
                Код
                $this->diafan->_images->delete($id, 'shop');
                Соответственно комментируем ее вот так
                Код
                //$this->diafan->_images->delete($id, 'shop');


                И так, а в чем минус такого подхода? Минус в том, что при каждом импорте изображения будут только количественно расти, т.е. возможны дубликаты изображений, если грузить одни и те же картинки.
                Поэтому я бы добавил пункт в описании импорта: когда перезаписывать картинки, а когда их дополнять.

                Успехов, коллеги.
              • 12 октября 2016 г.
              • А как корректнее описать такое условие:
                1) Если фото имеется у товара, то не загружать
                2) Если товар не имеет фото, загрузить фото из 1С

                Спасибо!
  • 12 октября 2016 г.
  • Есть пункт в выгрузке "Только изменения"!
    • 13 октября 2016 г.
    • Какой бы вариант не выбирал клиент при выгрузке, затирается фото. Или при условии использовании кода, что описан выше все будет совсем по иному?

      Спасибо!

Новости

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