Премахване на изображения при разтоварване на стоки от 1С в Битрикс

Наскоро получихме заявка от клиент, който не е доволен от работата на типичен обмен, защото когато изтриете снимка от 1С, тя не се изтрива в сайта.

Е, нека проверим как работи всичко. Ще тестваме обмена в режима на обмен на промяна.

От страната на сайта:

  • 1С-Битрикс, издание "Бизнес";
  • Модул "Онлайн магазин", версия 16.0.31;
  • Типично решение от 1С-Битрикс за онлайн магазин.
От страна на 1С:

  • Управление на търговията, версия 10.3.5.1;
  • Типичен модул за обмен.

Нямахме достъп до 1C, затова поискахме два качвания на файлове за размяна:

  • след добавяне на снимка към продукта;
  • след изтриване на картината в продукта.

Стъпка 1: Подготовка на файлове.

Ще тестваме на копие от сайта, но така или иначе, за да не „срине“ цялата директория, ще проверим дали файловете ще бъдат качени на сайта в режим „промяна“.

Разглеждаме import.xml с добавяне на снимка.

„False“ не е това, от което се нуждаем, променете на „true“.

Правим същото с файла, за да изтрием картината.

Стъпка 2: инсталирайте скрипт на сайта, за да емулирате обмен с 1С.

Разархивираме и полученият файл bx_1c_import.php се зарежда в корена на сайта.

Стъпка # 3: още малко подготовка

За чистотата на експеримента намираме нашата експериментална стока и я изтриваме от базата данни.

премахване

Създаваме две папки на сайта за тестване на изтеглянето

  • / upload/test_1c_upload/with_picture/- качете качването със снимката тук
  • / upload/test_1c_upload/without_picture/- качете качването тук без снимка

Ще почистим и папката с файлове за обмен на поръчки. За целта изтрийте всичко тук:/upload/1c_exchange

Стъпка # 4: първо изтегляне - продукт със снимка

Тъй като скриптът за емулация на обмен не може да взема файлове от папки с изключение на/upload/1c_catalog /, копираме файловете тук:

премахване

Включете нашия скрипт /bx_1c_import.php, отидете в раздела "Импортиране на 1С файлове" и щракнете двукратно върху import.xml

стоки

Скриптът ни разказва за успешно изтегляне

премахване

offers.xml не е необходимо да се зарежда, той не казва нищо за снимките, които ни интересуват.

Разглеждаме елемента за блокировка, съответстващ на нашия продукт.

Ето какво заредихме:

1. Картината за съобщението е заредена

премахване

2. Заредена е подробната снимка (същата като снимката за съобщението)

3. И също така виждаме, че снимката е заредена в свойството "PHOTO" (ID "MORE_PHOTO")

изображения

Ето как се показват тези снимки в публичния интерфейс.

Страницата на продуктовата карта показва снимки, заредени в свойството "PHOTO". Това е множество свойства и ако има няколко снимки, всички те ще бъдат показани на страницата на продуктовата карта. Ако в 1С са заредени няколко стоки към артикула, тогава стандартната борса ще ги зареди в това свойство.