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

Импорт фото из 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 г.
    • Какой бы вариант не выбирал клиент при выгрузке, затирается фото. Или при условии использовании кода, что описан выше все будет совсем по иному?

      Спасибо!

Новости

  • 19 сентября, пятница
  • Мы внесли изменения в лицензию и объявляем, что прекращаем техническую консультационную поддержку сайтов на DIAFAN.CMS версий старше 7.0. А это все минорные версии платформы, предшествующие актуальной линейке, а именно: версии серии 4.x, 5.x, 6.x.
  • 15 сентября, понедельник
  • У нас отличные новости! Мы выпустили новую сборку DIAFAN.CMS 7.3, которая включает встроенные нейросети непосредственно в административной панели. Это значит, что создание контента для вашего сайта больше не будет проблемой — искусственный интеллект возьмет эту задачу на себя, избавляя вас от необходимости привлекать копирайтеров или тратить время на написание текстов самостоятельно.
  • 25 марта
  • Мы обновили систему тарифов, учитывая опыт работы с клиентами и современные рыночные условия. Новая тарифная сетка разработана специально для того, чтобы лучше отвечать вашим потребностям. Резкого повышения цен не произошло. Более того, некоторые тарифы даже стали выгоднее и доступнее. 

Блоги

  • 10.09.2025
  • DIAFAN.CMS славится нагрузоустойчивостью и безопасностью, про инциденты со взломом сайта на нашей системе давненько не слышали, но недавно получили мы письмо от fstec.ru такого характера:

    Обнаружена уязвимость в CMS-системе DIAFAN, позволяющая нарушителю, действующему удалённо, красть сессионные куки через XSS-атаку.