Премахване на изображения при разтоварване на стоки от 1С в Битрикс
Наскоро получихме заявка от клиент, който не е доволен от работата на типичен обмен, защото когато изтриете снимка от 1С, тя не се изтрива в сайта.
Е, нека проверим как работи всичко. Ще тестваме обмена в режима на обмен на промяна.
От страната на сайта:
- 1С-Битрикс, издание "Бизнес";
- Модул "Онлайн магазин", версия 16.0.31;
- Типично решение от 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С са заредени няколко стоки към артикула, тогава стандартната борса ще ги зареди в това свойство.