Прасинг сложных данных не такой уж и сложный, и сейчас я попробую объяснить почему :)
Как вы уже знаете из первой части Парсинга в им
К сложным данным относятся
- Категории
- Фото товара
- Атрибуты
- Опции.
Поскольку путь категорий это несколько значений и их нельзя указать одним текстом то тут нужно немного больше логики.
Категории
Допустим мы хотим указать что товар должен лежать в категории по пути.
Одежда
Женская
Брюки
Получается как минимум три значения вместо одно.
Что бы казать категории их нужно записать в определенном формате, а именно :
Одежда{csvnc}Женская{csvnc}Брюки
При помощи операторе {csvnc} Вы указываете модулю что первая часть данных закончилась и начинается вторая часть. И так далее.
Теперь модуль способен понять сколько у него категорий, какая идет за какой и положить товар в нужное вам место.
Изображение
Как вы уже поняли из примера категорий что бы отделить одно значение от другого достаточно вставить между ними {csvnc}
https://svetavto.com.ua/image/cache/data/led/0_led_diod_solu/21250/133632981_w640_h640_img_125_result-800x800-w-30-0-0.jpg{csvnc}}https://svetavto.com.ua/image/cache/data/led/0_led_diod_solu/21250/133632990_w640_h640_img_127_result-800x800-w-30-0-0.jpg{csvnc}https://svetavto.com.ua/image/cache/data/led/0_led_diod_solu/21250/133632992_w640_h640_img_139_result-800x800-w-30-0-0.jpg
Если у вас в границе будет одно фото он станет главным у товара, а если больше то первое фото главное, а следующие записываются как дополнительные.
Атрибуты
Для того что бы модуль правильно создал атрибут и присвоил ему значение нужно данные парсинга атрибутов привести к виду.
Название атрибута{csvnc}Значение атрибута{csvnc}Название атрибута{csvnc}Значение атрибута{csvnc}Название атрибута{csvnc}Значение атрибута
Все довольно просто.
Опции
Опции это довольно интересная штука и я сделал отдельно руководство по ним.
Прасинг опций
Парсинг опций если цена опции равна цене товара.
Как получить текст внутри границы парсинга с {csvnc}
Привести данные к нужному формату можно через поиск замену, вставляя в текст в нужные места {csvnc} или же использовать повторяющиеся границы парсинга. Обратите внимание что между повторяющимися границами по умолчанию вставляется разделить {csvnc}
Теперь покажу пару примеров как получается нужная строка через поиск замену.
Пример парсинга фото товара
При парсинге в ИМ если вы используете повторяющиеся границы парсинга, то не важно какой разделитель вы укажите, модуль по умолчанию будет использовать {csvnc} это касается исключительно парсинга в ИМ.
По этому я рекомендую при настройке парсера для загрузки в интернет магазин самому указывать разделитель {csvnc} что бы при дальнейшей работе с данными у вас не возникали вопросы почему модуль выдает именно такой результат.
Сделав указание разделитель своей привычкой вы избавитесь от многих проблем связанных с пониманием работы модуля.
Но я крайне рекомендую при настройке такой границы парсинга указывать разделитель самому!!!
Пример парсинга атрибутов
В данном случаи видно что нам на вход пришел кусок кода от донора и мы делаем всякие поиск замены.
Но одно правило выделяется из списка это то правило которые добавляет в код {csvnc} что бы мы на выходе получили нужный нам формат.