V rámci technické podpory se nás občas ptáte, zda jde při zpracování dodavatelských feedů vybrat pro import do e-shopu produkt s nejnižší cenou, tj. zda jde nějak porovnat ceny stejného produktu napříč dodavateli a ten, kdo má produkt nejlevnější, tak jeho cenu importovat do eshopu.
Rychlá odpověď je: ano, s Mergadem je to možné.
Řešení by spočívalo v tom, že si k produktům v hlavním feedu doimportujete ceny od všech dodavatelů, a pak už jen porovnáte, která cena je nejmenší.
Ukážeme si to na příkladu 3 dodavatelů, pojmenovaných A
, B
a C
.
Nutným předpokladem je, že dokážete stejný produkt v jednotlivých dodavatelských feedech nějak identifikovat, tj. produkty mají např. stejný EAN
kód nebo stejné produktové číslo PRODUCTNO
či CODE
.
Pojďme se domluvit, že pro naši ukázku půjde o element s názvem EAN
.
1. převedeme si dodavatelské feedy na CSV formát
Pro každý feed od dodavatele si vytvoříme pomocný projekt v Mergadu, kde jako výstupní formát zvolíme Plain CSV (data oddělená čárkou).
V každém z těchto pomocných projektů provedeme pár úprav:
- Na stránce Elementy si poskrýváme vše, kromě dvou elementů:
- první element bude identifikátor produktů, dle naší domluvy výše:
EAN
.
Název tohoto elementu musí být stejný, jako máme v hlavním projektu, tam musíme mít takéEAN
. - druhý element si v každém feedu od dodavatele vytvoříme trochu jiný:
- ve feedu dodavatele A si přidáme nový element s názevm
PRICE_A
, - ve feedu dodavatele B si vytvoříme element
PRICE_B
a - ve feedu dodavatele C si přidáme
PRICE_C
- ve feedu dodavatele A si přidáme nový element s názevm
- první element bude identifikátor produktů, dle naší domluvy výše:
- na stránce Pravidla si přidáme nové pravidlo, typ Hromadné zkopírování hodnot, kterým si naplníme námi vytvořené elementy s cenou, například
- u prvního dodavatele se bude kopírovat cena z
PRICE_VAT
doPRICE_A
- u druhého dodavatele se bude kopírovat cena z
PRICE_VAT
doPRICE_B
- u třetího dodavatele se bude kopírovat cena z
PRICE_VAT
doPRICE_C
- u prvního dodavatele se bude kopírovat cena z
- přegenerujeme projekty (Nastavení → Přegenerování → Přegenerovat změněné)
Tímto získáme tři feedy, které budou v CSV formátu a budou mít vždy jen dva sloupce:
- identifikátor produktů
- cenu konkrétního dodavatele
Ve feedu od dodavatele A tak budeme mít sloupce: EAN,PRICE_A
Ve feedu od dodavatele B tak budeme mít sloupce: EAN,PRICE_B
Ve feedu od dodavatele C tak budeme mít sloupce: EAN,PRICE_C
2. vytvoříme si pomocné elementy, do kterých naimportujeme ceny
V hlavním projektu, jehož výstup budeme importovat do e-shopu, si na stránce Elementy přidáme 3 pomocné elementy: PRICE_A
, PRICE_B
, PRICE_C
a skryjeme je pro výstup (takže se nebudou generovat do výstupního feedu, budeme s nimi pracovat jen v rámci Mergado Editoru).
Ukázka:
3. přidáme si importní pravidla
Pro každého dodavatele jedno. Importní pravidlo dokáže importovat jen CSV soubory, proto jsme si v předchozím bodě takové CSV feedy připravili, v každém importním pravidle použijeme jeden z nich.
Importní pravidla nám naplní konkrétní ceny jednotlivých dodavatelů do pomocných elementů PRICE_A
,PRICE_B
,PRICE_C
.
U každého produktu teď budeme mít k dispozici jeho ceny od všech dodavatelů.
Ukázka:
4. porovnáme ceny - vytvoříme si výběry produktů
Na stránce Produkty si postupně vytvoříme několik výběrů na výstupní hodnoty, kterými si najdeme nejlevnější cenu. Tohle je možné udělat vícero způsoby, mě napadl tento “obyčejný”:
-
výběr najde produkty, kde je nejlevnější cena od dodavatele A
-
výběr najde produkty, kde je nejlevnější cena od dodavatele B
-
výběr najde produkty, kde je nejlevnější cena od dodavatele C
5. nastavíme produktům nejlevnější cenu
Na stránce Pravidla si přidáme nové, typ Hromadné přepisování dle výběrů, kterým přepíšeme do elementu s cenou tu nejnižší ze všech dodavatelských feedů. Pravidlo může vypadat takto:
Pokud už nejlevnější cena v hlavním projektu byla a žádný dodavatel není levnější, tak pravidlo cenu nijak nezmění, zůstane tam “původní” cena, když už byla nejnižší.
Přegenerujeme hlavní projekt a máme hotovo, ve výstupním feedu bude nejnižší cena ze všech dodavatelů.
PS: a pokud neřešíte dodavatelské feedy a máte jen jeden feed s variantami a chcete zjistit cenu nejlevnější varianty, pak mrkněte sem: