Konečný návod: Pokročilé funkcionality při práci s XML feedem

Konečný návod: Pokročilé funkcionality při práci s XML feedem

Jak importovat vybrané kategorie? Jak přidat odkazy přímo do popisu? Jak řešit variace produktů a spojit je do jednoho produktu? A mnoho dalšího…

Nezapomeňte si přečíst článek Jak importovat XML do WordPressu

V tomto článku si ukážeme pokročilé funkcionality pro práci s WP All Import Pro a WooCommerce Add-on. Před importem jakéhokoliv XML feedu si nejdříve prohlédněte jeho strukturu. Stáhněte si XML feed do počítače (feed v prohlížeči uložíte CTRL+S) a otevřete ho v textovém editoru. Já používám Notepad++, který obsahuje mnoho pokročilých funkcí a je zadarmo.

Vždy si pozorně prohlédněte strukturu a parametry, které jsou v XML feedu, abyste zjistili, co potřebujete filtrovat.

Importování vybraných kategorií

Časy, kdy fungovaly všeobecné katalogy, jsou už dávno za námi. Dnes se mnohem víc vyplatí věnovat se konkrétní kategorii a cílit na úzkou niku. Jak tedy z XML feedu vybrat konkrétní kategorie?

Kdybych měla portál o kočkách, chtěla bych jen produkty pro kočky. Jedna varianta je vybrat si konkrétní kategorie.

XPath pro kategorii Kočky | Krmivo | Granule pro dospělé kočky
/SHOPITEM[CATEGORYTEXT=’Kočky | Krmivo | Granule pro dospělé kočky‘]

Takovým způsobem můžete přidat vícero kategorií do filtrace a vznikne vám několik pravidel, která spojíte pomocí funkce OR
/SHOPITEM[CATEGORYTEXT=’Kočky | Krmivo | Granule pro dospělé kočky‘ or CATEGORYTEXT=’Kočky | Veterinární dieta pro kočky | Ledviny a močový aparát‘]

Pokud byste chtěli importovat úplně všechny produkty pro kočky, můžete si vybrat produkty, kde se v názvu kategorie nachází slovo „Kočky“
/SHOPITEM[CATEGORYTEXT[contains(.,’Kočky‘)]]

Importování produktů podle ceny

Štefan už delší čas říká, že se vyplatí zaměřit se hlavně na drahé produkty. Pomocí filtru si můžete do WordPressu importovat produkty, které jsou dražší než vámi zadaná hodnota. Jak? Velmi snadno.

Cena nad 100€
/SHOPITEM[PRICE_VAT > 100]

Cena nad 60 €, ale pod 65 €
/SHOPITEM[PRICE_VAT > 60 and PRICE_VAT < 65]

Importování produktů podle textu v názvu

Představte si, že máte portál o BMW autech a chcete si udělat katalog jen s BMW autodoplňky. Vezmete si tedy XML feed Autovýbava.sk a podíváte se, jak vypadá. Zjistíte, že kategorizací se nikam nedostanete, ale mohli byste to udělat tak, že vezmete jen ty produkty, které mají v názvu produktu slovo „BMW“.

XPath potom vypadá takto:
/SHOPITEM[PRODUCT[contains(.,’BMW‘)]]

Pokročilý popis produktu

Přidat popis z XML feedu do popisu produktu je samozřejmostí.

Co takhle přidat ještě i sem odkaz na produkt a popřípadě i další parametry z XML feedu? Pokud víte, co je to a href, tak se přepněte do Textového editoru (HTML) a přidejte odkaz na konec popisu produktu. Častokrát inzerenti vkládají do XML zkrácený popis a právě takový odkaz naláká návštěvníky k prokliku. Nezapomeňte přidat vaše trackovací údaje z administrace. 😉

Nebojte se použít i jiné parametry z XML feedu. Například výrobce.

Variace produktů

Heureka má pravidlo, že každá varianta produktu musí být samostatným <shopitem> a po importu se vám vytvoří produkty jako: Adidas SuperStar 36, Adidas SuperStar 38, Adidas SuperStar 40, Adidas SuperStar 42 atd.

Produkty, které spolu souvisejí, mají být podle specifikace Heureky spojené přes <itemgroup_ID>. Nastává tu však problém, že ve WooCommerce u externího produktu neexistují klasické variace jako u běžného produktu.

Co se s tím dá dělat?

SKU (katalogové číslo) nastavte jako itemgroup_ID a použijte ho i jako unikátní identifikátor.

Já si vždy do SKU přidávám i název kampaně, abych v tom měla pořádek. Je to na vás, zda si tam něco přidáte, nebo ne.

Protože víte, že v XML feedu se budou nacházet produkty se stejným <itemgroup_ID>, musíte v Add-on Option nastavit aby se negenerovaly SKU automaticky (tedy zaškrtnout 2. možnost) a také aby se kontrolovala duplicita SKU (tedy 3. možnost nezaškrtnout – POZOR default ne je zaškrtnutý).

Před importem v posledním kroku si nastavte i unikátní identifikátor (Unique Identifier) tak, aby obsahoval itemgroup_ID.

Po importe vám zahlásí, že v XML našlo duplicitní produkty, které nebyly importované. Je to v pořádku. 😉

Čeho jsem dosáhla? Pokud bych použila ITEM_ID jako identifikátor, naimportuje se mi 570 produktů. Když jsem použila ITEMGROUP_ID, dostala jsem 67 unikátních produktů.

Teď je mým úkolem vytunit jejich popisy a přidat tam info, v jakých velikostech se vyrábějí. Potom kdybych řešila nový import, resp. aktualizaci dát, tak si nezaškrtnu Update all data, ale vyberum si, která data se mají přepsat. Například cenu.

Jak odstranit velikost z názvu variabilního produktu

Trikátor má variace udělané velmi dobře. Avšak určitě narazíte na XML feed, kde bude velikost či jiný parametr přímo v názvu produktu.
Například <PRODUCTNAME>Červené kostkované – Velikost : S</PRODUCTNAME>

Elka-underwear má v XML feedu v názvech takováto označení: “ – Velikost : S“, “ – Velikost : M“, “ – Velikost : L“, “ – Velikost : XL“ a “ – Velikost : XXL“. Co s tím?

Do TITLE jsem vložila takovouto věc:
[IF({PRODUCTNAME[contains(.,‘ – Velikost : S‘)]})] [str_replace(“ – Velikost : S“, „“, {PRODUCTNAME[1]})][ENDIF][IF({PRODUCTNAME[contains(.,‘ – Velikost : M‘)]})] [str_replace(“ – Velikost : M“, „“, {PRODUCTNAME[1]})][ENDIF][IF({PRODUCTNAME[contains(.,‘ – Velikost : L‘)]})] [str_replace(“ – Velikost : L“, „“, {PRODUCTNAME[1]})][ENDIF][IF({PRODUCTNAME[contains(.,‘ – Velikost : XL‘)]})] [str_replace(“ – Velikost : XL“, „“, {PRODUCTNAME[1]})][ENDIF][IF({PRODUCTNAME[contains(.,‘ – Velikost : XXL‘)]})] [str_replace(“ – Velikost : XXL“, „“, {PRODUCTNAME[1]})][ENDIF]

Nevypadá to bůhvíjak, ale funguje to a nemusíte potom upravovat názvy produktů ručně.

Pokud máte znalosti z PHP, můžete si udělat vlastní funkci ve function.php a tu zavolat – Dokumentace.

PRO TIP: Pokud spojíte velikosti do jednoho produktu přes itemgroup_id, nastavte Button text na něco jako „Zvolit velikost“, „Vybrat velikost“ apod.

Pár tipů na závěr:

  • vždy se nejdříve podívejte přímo do XML feedu, abyste věděli, s čím jdete pracovat
  • vyberte si úzkou niku a udělejte si i analýzu klíčových slov
  • poujžite vlastní kategorizáci a ke každé kategorii přidejte popis (Produkty – Kategorie produktů – Popis)
  • přečtěte si Štefanův článek, kde najdete 10 tipů pro XML katalogy
  • při nastavování importu nikam nespěchejte a nad vším se zamyslete

Zajímá vás něco konkrétního při práci s XML feedem, ale není to vzpomenuté v tomto článku? Dejte mi vědět v komentáři. 😉

Nevyšlo na prvý pokus?

Nevadí. Smažte všechno a zkuste zase.

Klikněte na All Import – Manage Imports a u daného importu zvolte Delete. Následně se vám zobrazí možnosti, kde bude i to, že můžete smazat všechny produkty, které byly tímto importem vytvořené. 😉

Katka Novotná

Další články, které by tě mohly zajímat

Které inzerenty u nás najdete?