Есть несколько xml файлов с данными о товарах:
products.xml Файл с товарами
properties.xml Файл со свойствами товаров
prices.xml файл с ценами
counts_wholesale.xml файл с остатками
Необходимо написать обработку, чтобы на выходе получить один файл xml определенного образца.
Должна быть возможность смены Названий разделов и Брендов с последующим сохранением настроек (исходные названия Новые названия
Нужно преобразование некоторых данных. Например торговые предложения в исходном варианте представлены как отдельные товары
и их нужно выводить соответственно
или например тип товара нужно выделять из полного наименования путем обрезания до цифр
Более подробно при разработке
Читаем файлы -> выводим Категории из файла -> вводим Свои Названия Категорий и отмечаем НАДО или НЕ НАДО выгружать -> Сохраняем настройки и если при следующей загрузке файлов появляются новые категории, которых нет в сохраненных настройках Выделяем красным Цветом -> Далее выводим имеющиеся в файлах Бренды -> рядом с брендом выводим поле с новым написанием и чек бокс ( отмечаем НАДО или НЕ НАДО выгружать ) -> Выводим новый единый вариант файла и возможность сохранить или отправить
Результатом должен быть файл формата похожим на yml для yandex-а
Имеем данные из файла products.xml
<product id="dd5414b9-dd6a-11e2-8b2a-0025901865a3" code="00000030605"> оставляем без преобразований
<artnumber>8743P</artnumber> Модель
<name>8743P nappa/lana arancione 7,5</name> Артикул
Для товаров размером нужно обрезать размер в конце ( размер так же указан в свойстве property id="size" )
<namePrint>Перчатки женские 8743P наппа/лана аранчионе 7,5</namePrint> Наименование для печати
Для товаров размером нужно обрезать размер в конце ( размер так же указан в свойстве property id="size" )
Из этой строки "Перчатки женские 8743P наппа/лана аранчионе 7,5" обрезаем до цифр и получаем Тип товара
Наименование товара выводим Тип товара полученный из <namePrint> плюс <name>8743P nappa/lana arancione 7,5</name> Артикул
<description></description> Описание
<properties>
<property id="size" value="c870ada0-954c-11e3-bf27-0025901865a3" /> размер для торговых предложений
<property id="SizeForWeb" value="70*170" /> Габариты
<property id="section" value="92c85955-7fb6-11e4-aec5-0025908101de" /> Категория 1 уровня
<property id="category" value="bd171b5b-7fb6-11e4-aec5-0025908101de" /> Категория 2 уровня
<property id="type" value="4202b6c5-8464-11e4-82e4-0025908101de" /> Категория 3 уровня
<property id="brand" value="4d20dff1-7fb6-11e4-aec5-0025908101de" /> Бренд
<property id="tradeline" value="9011840e-8110-11e4-82e4-0025908101de" /> Линия
<property id="sale" value="77ebb501-85d4-11e4-82e4-0025908101de" /> Акция и распродажа
Нужно вывести два свойства action и sale
Sale определяется постоянным значением 77ebb501-85d4-11e4-82e4-0025908101de
<property id="color" value="d24c1802-b177-11e2-950a-0025901865a3" /> Цвет
<property id="color" value="d24c1802-b177-11e2-950a-0025901865a3" /> Цвет
<property id="material" value="091b5d16-b174-11e2-950a-0025901865a3" /> Материал
<property id="material" value="23beb74b-8776-11e4-82e4-0025908101de" /> Материал
<property id="best-sellers" value="Y" /> нужно уточнить Новое свойство
</properties>
</product>
Значения свойств value="c870ada0-954c-11e3-bf27-0025901865a3" берем из файла properties.xml
К этим данным подгружаем из файлов prices.xml
<product id="10a276dc-2e3c-11e6-800b-0025901865a2"> принадлежность товару
<retail>13390.00</retail> Розничная цена
<wholesale>6300.00</wholesale> Оптовая цена
</product>
и из файла counts_wholesale.xml
<product id="10a276dc-2e3c-11e6-800b-0025901865a2"> принадлежность товару
<count store="0" value="7" description="ќптовый склад" />
Выводим кол-во из value (остатки)
</product>
Так же нужно вывести кол-во ссылок по кол-ву картинок … определить сколько ссылок выводить у товара? И проверка на наличие картинок… Вывести список товаров у которых нет ни одной картинки Картинки кладем в определенную папку
Нужно также вывести свойства согласно категориям
для товаров у которых не указана категория 1 уровня есть нюанс нужно обсудить, как лучше вывести
Если возникнут вопросы во время разработки можно обсудить
Опубликован 26.07.2017 в 00:24 Последнее изменение: 26.07.2017 в 19:51