Импортирането на продукти чрез XML файл е един от най-бързите и удобни начини да качите голям брой продукти в онлайн магазина си. Приложението XML Импортиране дава възможност да се импортират еднократно или да се синхронизират през определен времеви интервал всички продукти от файл или линк във формат XML. Този модул ще ви е изключително полезен, ако желаете да добавите продуктите на доставчик/дистрибутор, с когото работите и всяка промяна на цени/наличности да се отразява автоматично и във вашия магазин.
За да се импортират продуктите е необходимо XML файлът да съдържа всички необходими данни за импортиране и да има правилната структура.


В тази статия ще намерите:

Структура на XML файл

XML файлът трябва да съдържа добре структурирани данни. Той съдържа тагове, които силно приличат на HTML таговете. Един XML документ представлява всъщност текстови файл, в който се съдържат различни XML декларации и тагове, както и текст. Ето как изглежда един примерен XML документ съдържащ информация за множество продукти:

На тази снимка виждате тагове, в които се съдържат различни елементи от общата информация за дадените продуктите. Всеки елемент на един продукт като име, категория, ID на продукта, описание, марка, цена, тегло, количество, снимка, разновидност, стойност и други трябва да бъде ограден с отварящ и затварящ таг. Отварящия и затварящия таг трябва да имат едно и също наименование, като затварящия е предхождан от наклонена на дясно черта "/"), за да може информацията да се чете коректно от парсера и да се импортира в онлайн магазина ви посредством приложението XML Импортиране. Между тези два тага се намира съдържанието, т.е. данните, които са включени в съответния раздел. 


Трябва да има един основен елемент, в който да се намират всички останали елементи. Той се нарича Document Root. В примера, това е елементът <products>. Този отварящ основен таг има задължително затварящ такъв </products>. Той съдържа в себе си много под тагове, всеки, от които има и затварящ таг и някаква информация между тях , например: таг за прозиводител <manufacturer>Manufacturer name</manufacturer>.

Имената на самите тагове, в които се съдържа всеки елемент са произволни, не са строго определени и се определят от създателя на XML файла. При импортирането, реално те ще бъдат навързани с вече съществуващите елемненти за един продукт.  


Добре оформеният XML файл отговаря на набор от много строги правила, които управляват XML. Ако даден файл не отговаря на тях, XML-ът спира да работи. На снимката по-горе виждате, че всеки отварящ таг има съответния затварящ таг, това е едно от основните правила за добре оформен XML. Ако премахнете един таг и се опитате да отворите този файл, ще видите съобщение за грешка и програмата ще ви попречи да използвате файла.

Не е задължително да знаете правилата за създаване на добре оформен XML , но трябва да запомните, че можете да споделяте XML данни между програми и системи само, ако данните са правилно оформени. Ако не можете да отворите XML файл, много вероятно е този файл да няма правилна структура.


Ето тук може да видите структурата на един добре оформен примерен XML файл. 


Инсталиране на приложението

За да използвате приложението XML Импортиране е нужно да разполагате с такъв XML файл или feed (файл предоставен под формата на линк, от който се черпи информация непрекъснато). Другият вариант е да имате друг източник на информация (Таблица в Google Sheets, например), който да конвертирате в XML формат. Информацията за даден продукт в една таблица обикновено се съдържа на един ред, докато в XML-а тази информация е на много редове, които са заградени в един таг (например, <product>). Реално, хоризонталният тип визуализиране на данните се преобраува във вертикален в XML файла.


1. Влезте в админ панела на магазина си, секция Настройки > Файлове и натиснете бутона Качване на файлове в горния десен ъгъл на екрана ви, за да качите xml файла, ако имате такъв. След, което копирайте линка и го поставете в браузъра, за да се уверите, че работи. При проблем с файла, на екрана ще се изпише съобщение за такъв.

2. Следващата стъпка е да отидете в секция Приложения > Всички приложения и да изберете XML Импортиране и бутона Инсталирай.

Настройки (Първа стъпка)

1. Натиснете бутона Стартирай нова задача, за да стартирате задача за импортиране.

  • Име на задачата - въведете име, чрез което ще разпознавате задачата. В последствие, то ще ви служи и за разпознаване на всеки един продукт - от коя задача е бил импортиран. Името на задачата ще е видимо само в контролния панел. Ако например, качвате продукти от определена категория (Headphones/Слушалки), може това да е и заглавието на задачата. 
  • В полето XML URL Линк, поставете линка (xml feed-a), с който разполагате или, който сте копирали след като сте качили XML файла в секция Настройки > Файлове
  • Импортирай всички продукти в категория – използвайте падащото меню, за да изберете съществуваща продуктова категория, в която всички продукти от XML задачата да се импортират. Ако в XML файла се съдържа информация за категориите на продуктите, не е нужно да използвате това падащо меню. Ако XML feed-а, който качвате съдържа продукти само от една категория, може да я изберете още на първа стъпка, ако не сте избрали такава категория, системата ще очаква да изберете категория за всеки продукт на втора стъпка.


Ако нямате създадени категории в магазина си, вижте как може да създадете такива тук.   

  • Импортирай всички продукти с производител - тази опция работи на същия принцип като избора на категория. От падащото меню може да изберете производител, към който всички импортирани продукти да бъдат причислени.
  • В следващото поле Импортирай всички продукти като може да изберете дали импортираните продукти да изберете да бъдат публикувани или да останат скрити.
  • XML Таг на продукта - поле, в което е нужно да въведете важна информация, а именно тага на продукта. В XML файла отварящият и затварящият таг дефинират началото и края на един продукт. В нашия случай това е тага product. Необходимо е да въведете XML тага на продукта от вашия XML файл, за да може парсера (скрипта, който разчита XML файлове) да разбере къде започва и къде свършва един продукт в xml структурата. Този таг може да бъде всякакъв, няма определен стандарт, затова погледнете как е наименуван той във вашия файл. 

В тага на продукта се съдържат всички останали тагове и информация за всеки продукт:

  • Прикачи към основна задача - XML импортера е доста разширен софтуер, който освен да импортва може и да обновява продуктите. Също така може да има и множество под задачи, които да са прикачени към една основна задача. Т.е, ако сте стартирали една основна задача за импортиране на продукти, може да стартирате  други под задачи към нея, чрез които да попълните продуктовия си каталог. Това е полезна функция, ако всичките продукти, които искате да качите не са в един файл, а са разделени в няколко такива. В този случай може да стартирате няколко задачи, които да работят като една и по този начин да обедините целия продуктов каталог.

  • Линии - в това поле трябва да въведете максималния брой линии (редове) от файла, в които системата да провери дали се съдържа продуктовия таг и да извлече нужната информация. Това е важно, защото когато преминете на втора стъпка софтуера прочита целия файл и взима неговата структура и я визуализира във втора стъпка, за да се направи съответното "напасване", така нареченият "mapping" - мапване на една стойност от XML файла с друга стойност от самия продукт.  Важно е в броя линии, които посочите да се съдържа отварящия и затварящия продуктов таг. По подразбиране линиите са 500 и обикновено тази бройка е напълно достатъчна, но ако имате по-голям XML файл може да я промените. Имайте предвид, че по-големия брой линии забавя парсването.
  • Спиране на липсващи продукти - много полезна функционалност, когато работите с feed-ове, защото те се обновяват непрекъснато. Ако даден продукт вече е изчерпан или е премахнат от сайта на дистрибутора, с който работите, то този продукт ще бъде автоматично премахнат и от вашия магазин при обновяването на feed-а.
  • Проследяване на количество - ако във feed-а ви се съдържа информация за количество, то тогава тази опция трябва да е включена, за да може да се добави това количество и системата да проследява бройките.
  • Продължи продажбата - ако включите тази опция, това означава, че дори, когато количеството на даден продукт е 0, този продукт ще продължава да се предлага в магазина ви и клиентите ще могат да си го поръчват.

  • ID на задачата - няма значение какъв идентификатор ще изберете, важно е той да бъде уникален за всяка една задача. Ако има задачи с едно и също ID, има вероятност продуктите да се конфликтнат. 
  • Добавяне на отстъпка - чрез XML импортера е възможно да добавите и отстъпки на продуктите, но за целта е необходимо XML файлът ви да съдържа такава стойност (original price и sale price).


Ако включите тази опция трябва да си създадете отстъпка от меню Маркетинг > Отстъпки и да изберете Фиксирана отстъпка. XML Импорт приложението работи само с този тип отстъпка. След като създадете отстъпката тя ще се ползва за постоянно обновяване, когато в XML feed-а се съдържа такава информация.

Настройки (Втора стъпка)

След като проверите въведените в първата стъпка данни, използвайте бутона Запази и отиди към 2-ра стъпка, където ще посочите как да се импортират данните от XML feed-a в продуктовия каталог на магазина ви.

  • Избор на уникален номер на продукта - от падащото меню изберете идентификатора  на продукта, който отговаря на това условие, така че да няма продукти с еднакви SKU или ID, например. В дясно, в падащото меню ще видите структурата на вашия XML файл. Изберете идентификатора за вашите продукти, по който те се различават един от друг, за да може при обновяване на XML feed-а, да не се случи така, че два продукта, които имат да кажем, едно и също ID като идентификатор, да се обновяват по един и същи начин.
  • Заглавие на продукта - изберете тага, в който се съдържа името на всеки продукт от файла. Той може да бъде най-различен (name, product name, validation name, title и т.н. в нашия примерен файл, това е тага <title>.
  • Кратко описание - ако имате такава информация във вашия файл, изберете съответния таг. Ако нямате, може да пропуснете това поле.
  • Описание - описанието на даден продукт може да бъде доста дълго и да съдържа различни знаци, линкове, снимки и т.н. Изберете съответния таг, който отваря и затваря продуктовото описание. В нашия файл, това е тага <description>


Ако в описанието на даден продукт има снимки, то софтуерът "XML Импортиране" ще ги извлече и ще ги качи и запази директно в storage-а на вашия магазин, така че те да станат част от описанието на съответните продукти.


При импорт на продуктите, ако XML файлът съдържа табове, чието описания е линк за ембедване на видео от Youtube (само линк), както е тук:

<tabs>
<tab>
<name>Видео</name>
<description>https://www.youtube.com/embed/clJj2GUCicc</description>
</tab>
</tabs>

То в този случай линка ще бъде заменен с код, който директно ще може да покаже видеото.


  • SEO заглавие и SEO мета описание - може и да не избирате, те ще бъдат автоматично създадени от името и описанието на самия продукт.
  • Стар URL адрес - служи ни, когато мигрираме един магазин. Ако зададете стойност за стария URL адрес на самя продукт XML Импортера ще създаде автоматично 301 препратки, така че да се запази позиционирането/индексирането на продукта. Вижте повече тук.

  • Цена - изберете тага за оригиналната цена (ако имате и такава с отстъпка).
  • Цена с отстъпка - изберете тага, който отговаря на цената с отстъпка.
  • SKU - изберете тага, който отговаря за sku на продукта
  • Баркод - изберете тага, който отговаря за баркода на продукта. Той може да има различни наименования - EAN, ISSN (ако говорим за книги)
  • Количество - изберете тага, който отговаря за количеството на продукта
  • Тегло - ако във файла ви има такава информация, изберете съответния таг
  • Ново - продуктът да бъде отбелязан като нов. Тази функционалност е полезна, ако качвате файл само с нови продукти и искате да бъдат отбелязани като такива.


Ако искате даден ред от горепосочените да се обновява постоянно е необходимо да отбележите редовете, които желаете с тикче, както е показано на снимката по-горе. 

Колкото повече редове обаче изберете да бъдат обновявани, толкова по-бавно ще става самото импортиране, защото ще се сравняват множество показатели на различните продукти, за да може софтуера да осъществи обновяването по зададените критерии.


Допълнителни табове с описание и информация

Това е функционалност, която ви позволява, ако имате няколко описания за един продукт във feed-а, съответно да бъдат създадени няколко таба с тези описания. Ако имате само едно описание, не е необходимо да избирате нищо.

Характеристика на категория

Структурата на една характеристика е същата като дефиницията на един продукт:

Имате един обобщаващ таг за всички характеристики. Всяка х-ка си има наименование и стойност. Една х-ка задължително има затварящ и отварящ таг. От падащото меню мапнете съответните тагове. 

  • Стойностите на х-ката може да са няколко на брой, но те могат да бъдат отделени чрез запетаи в третата стъпка от настройките.
  • Стойност на свойството - най-често приема стойността на характеристиката, така, че може да сложите същия таг.

В нашия пример, таговете са следните:

В следващата секция изберете тага, който се отнася за Производител.

Разновидности

За да импортирате разновидности на продуктите е нужно вашият XML файл да съдържа групи от разновидности на продуктите. При разновидностите се следва същата логика, както при характеристиките. Отново е необходимо да изберете внимателно съответните тагове от вашия XML файл.

Снимки на продукта - Ако имате няколко снимки на даден продукт в XML файла, те могат да бъдат обединени под един таг и да се отделят една от друга със запетая. В трета стъпка от настройките може създадете правило, при което софтуера, когато засече запетая да разделя отелните елементи и да ги счита за отделно нещо.

Настройки (Трета стъпка)

В трета стъпка може да създадете допълнителни операции и правила за изпълнението им при импортирането на продуктите от XML файла в каталога на магазина ви, така че да отговарят на вашите нужди. 

Ако да кажем в тага за цената освен стойността (4.39) се съдържа и валутата (BGN,EU), за да се чете файла коректно трябва да създадете правило.  

В този случай трябва да създадете следната операция и правило за изпълнението й: 

При така създаденото условие софтуерът ще гледа за реда (стойността), която сме избрали за цена и ако се съдържа в него BGN,той ще го замени с празно поле, т.е ще се вземе предвид само самата цена.

Подобно правило може да се създаде, ако в реда и тага за количество е изписан текст (напр. in stock) вместо самата бройка (напр. 100):

Може да създавате най-различни операции, в зависимост от съдържанието на файла ви и начина, по който имате нужда да го моделирате.


Имайте предвид, че начина на изписване на текста (малки/големи букви) в полето посочено на снимката по-долу трябва да съвпада с начина, по който е изписан във файла иначе няма да бъде открито съвпадение и операцията няма да бъде извършена.


След като сте готови запазете задачата от бутона в горния десен ъгъл на екрана. 

 

След като сте запазили задачата тя става активна, нарежда се и, когато дойде времето за нейното изпълнение тя ще стартира.


Когато качвате снимки, те се качват с леко забавяне, тъй като група от клъстери - сървъри, обработват всяка една качена снимка. Снимките биват оптимизирани, слагат им се необходимите филтри, оптимизира се качеството, за да може както да се зареждат и отварят максимално бързо на сайта ви, така и те да са с оптималното качество.

Допълнителни настройки

След като е стартирана задачата тя никога не спира, следващите и стартирания се случват на всеки 12 часа - XML импортирането започва, за да се обнови съдържанието, ако има промяна като нови продукти, наличности, цени и т.н.


Имате възможност да повишите приоритета на вашата задача, както и да съкратите интервала за изпълнение - вместо на 12 часа да се изпълнява на всеки 6 часа, например.

От бутона XML Import - приоритет на задача може да си закупите приоритет за изпълнение на задачата. Т. е тя ще се изпълнява с 20, 40, 60 или 80% преди останалите задачи.

От другия бутон XML Import - интервал за изпълнение може да промените интервала, през който ще стартира дадената задача.