K čemu modul slouží
- Přenos katalogu do jiného obchodu. Nový obchod, migrace na novější verzi PrestaShop nebo testovací obchod – soubory jsou připravené pro import cílové verze, nikoli verze, ze které exportujete.
- Hromadná úprava v tabulkovém procesoru. Export vybraných sloupců, změna v Excelu nebo jiném tabulkovém procesoru a opětovný import do stejného obchodu.
- Stálý soubor pro integraci. Velkoobchod, srovnávač, ERP systém nebo jiný obchod mohou stahovat aktuální soubor na stálé adrese, obnovované pomocí CRONu.
Soubory kompatibilní s importem vybrané verze PrestaShop
Čtyři cílové verze
- Volba verze importu. V profilu určíte, který PrestaShop soubor načte: 1.7.0–1.7.2, 1.7.3–1.7.6, 1.7.7–8.x, 9.x nebo „Automaticky“ (verze aktuálního obchodu).
- Sloupce v pořadí importu. Soubor produktů má od 63 sloupců (1.7.0–1.7.2) do 68 sloupců (1.7.7–8.x) a pro PrestaShop 9 – 66 sloupců. Soubor kombinací má od 23 do 26 sloupců. Pořadí odpovídá polím importu dané verze, proto se úplný soubor na stránce importu dopasuje sám.
- Sloupce existující jen v některých verzích. Například ISBN, MPN, práh nízkého stavu a skladová lokace se zapisují jen do souborů pro verze, jejichž import je podporuje; meta klíčová slova a sloupce pokročilé správy skladu jen do souborů pro 1.7.0–1.7.2.
- Dva způsoby zápisu CSV. PrestaShop 9 čte CSV podle RFC 4180 a verze 1.7 a 8 jinak zpracovávají uvozovky a zpětná lomítka. Modul zapisuje hodnoty tak, aby je import konkrétní verze načetl beze změn, a když to není možné – oznámí to v reportu.
- Uložené mapování sloupců. Pro každý profil modul v PrestaShop vytvoří uloženou konfiguraci mapování sloupců („CSV Export #ID - produkty“ a „CSV Export #ID - kombinace“), kterou lze načíst na stránce importu, když soubor obsahuje jen část sloupců.
- Záložka „CSV formát”. Popis každého sloupce pro vybranou verzi PrestaShop a návod k nastavení importu krok za krokem.
Soubor produktů a soubor kombinací
- Samostatné soubory pro dva typy importu. Soubor produktů pro typ „Produkty” a soubor kombinací pro typ „Kombinace” („Varianty” v PrestaShop 8 a 9); v profilu lze zapnout jeden z nich nebo oba.
- Úplný soubor kombinací. Soubor kombinací má vždy všechny sloupce, protože import při aktualizaci kombinací přepisuje cenu, hmotnost, stav a kódy hodnotami ze souboru – chybějící sloupec by tato data vymazal.
- Obrázky jako URL adresy. Sloupec obrázků obsahuje adresy původních souborů obrázků z domény obchodu profilu, s titulním obrázkem na prvním místě, a také alternativní texty. Obrázky, jejichž soubor na serveru chybí, jsou vynechány a nahlášeny v reportu.
- Vlastnosti, atributy, tagy a příslušenství ve formátu, který import očekává (mj. vlastnost jako název:hodnota:pozice:vlastní).
- Cena s daní jako poslední sloupec. Import předběžně mapuje sloupce podle pozice a toto pole vynechává, proto ho modul vždy umisťuje na konec, aby neposunul ostatní sloupce.
Exportní profily
Zdroj dat
- Libovolný počet profilů. Každý profil popisuje jednu sadu souborů a má vlastní název, stav aktivity, odkaz ke stažení a adresu CRONu.
- Obchod profilu. V multistore se ceny, stavy, viditelnost a obrázky načítají z vybraného obchodu a soubor tento obchod uvádí ve sloupci obchodu.
- Jazyk dat. Názvy, popisy, SEO pole, tagy, popisky obrázků a hodnoty vlastností se exportují v jazyce profilu; stejný jazyk se na stránce importu vybírá jako jazyk souboru.
Filtry produktů
- Pouze aktivní produkty.
- Pouze produkty dostupné skladem. Vynechá produkty se stavem 0 nebo nižším a kombinace, jejichž vlastní stav je 0 nebo nižší.
- Vybrané kategorie. Produkt se do souboru dostane, pokud patří alespoň do jedné označené kategorie; bez označení to znamená všechny kategorie.
- Vyloučení. Vynechání vybraných značek, dodavatelů (podle výchozího dodavatele produktu) a produktů se zadanými ID čísly.
Sloupce a sady
- Výběr sloupců souboru produktů rozdělených do skupin: identifikace, kategorie, ceny a daně, sleva, kódy (EAN, UPC, ISBN, MPN), rozměry a hmotnost, stavy a dostupnost, popisy a SEO, obrázky, vlastnosti, příslušenství a virtuální produkt.
- Čtyři hotové sady: „Úplná – přenos do jiného obchodu”, „Hromadná úprava v tomto obchodě”, „Ceny a stavy” a „Popisy a SEO”.
- Sloupce ID a reference jsou v souboru vždy, protože podle nich import produkt rozpoznává.
- Seznam sloupců závisí na cílové verzi. Po změně verze ve formuláři jsou dostupné jen sloupce, které import této verze podporuje.
Klíč produktu, kategorie a oddělovače
- Klíč produktu: ID produktu (import s volbou „Vynutit všechna ID čísla”) nebo reference (import s volbou „Použít referenci produktu jako klíč”). Při použití reference zůstávají sloupce ID prázdné a import kombinací najde produkt podle reference.
- Kategorie jako ID – při importu do stejného obchodu – nebo jako cesty názvů (např. Oblečení/Muži/Trička) při importu do jiného obchodu. Cesty se zapisují ve výchozím jazyce obchodu, protože v tomto jazyce import kategorie vyhledává; chybějící kategorie import vytvoří.
- Oddělovač polí: středník (výchozí, kompatibilní s Excelem v polském nastavení), čárka nebo svislá čára.
- Oddělovač více hodnot: čárka (výchozí v PrestaShop), svislá čára, křížek, vlnovka nebo stříška. Modul neumožňuje nastavit stejný znak jako oddělovač polí.
Report kompatibility s importem PrestaShop
Import PrestaShop přeruší celý soubor na prvním řádku, který nedokáže uložit, a část hodnot změní bez upozornění. Modul během exportu kontroluje 34 typů takových případů a každý z nich zapisuje do samostatného CSV souboru upozornění (úroveň, kód, ID produktu, ID kombinace, sloupec, hodnota, popis). Souhrn s příklady je viditelný na záložce „Soubory a CRON”, rozdělený na chyby, upozornění a informace.
- Řádky, které import odmítne: hodnoty nesplňující validaci PrestaShop, produkty bez názvu v jazyce profilu, kombinace s chybějícím názvem atributu nebo skupiny atributů ve výchozím jazyce obchodu.
- Data, která import nepřenese: specifické ceny jiné než jedna sleva pro celý katalog, obsah balíčků, popisky polí personalizace, soubory virtuálních produktů.
- Hodnoty, které import změní: mezery na začátku a konci buňky, hodnota „0” ve vlastnostech a tazích, částková sleva bez daně (import ji vytvoří jako s daní), vliv kombinace na jednotkovou cenu, neplatný kód EAN-13 kombinace, ISBN kombinace ve verzích 1.7 a 8.
- Konflikty oddělovačů a názvů: oddělovač více hodnot v obsahu, dvojtečka ve vlastnostech a atributech, lomítko v názvu kategorie, opakující se názvy kategorií, názvy značek, dodavatelů nebo kategorií tvořené čísly.
- Problémy s klíčem: produkty a kombinace bez reference, kombinace s duplicitní referencí (import by je sloučil do jedné – modul exportuje jen první), příslušenství bez reference.
- Znaky mimo UTF-8 jsou nahrazeny znakem „?”, aby zbytek souboru zachoval české znaky.
Generování souborů a CRON
- Generování z panelu. Tlačítko „Generovat” v seznamu profilů otevře okno s ukazatelem průběhu, počtem zpracovaných produktů, počtem řádků obou souborů a počtem upozornění; generování lze zastavit.
- Práce po dávkách. Produkty se zpracovávají v dávkách po 100, takže velký katalog nepřekročí časový limit jednoho požadavku.
- Obnovení po přerušení. Pokud je běh přerušen, další spuštění pokračuje od poslední uložené dávky a výsledný soubor je stejný jako při běhu provedeném najednou.
- Bezpečné publikování. Nové soubory nahradí předchozí až po dokončení generování; do té doby odkaz zpřístupňuje poslední kompletní soubory. Dva souběžné běhy stejného profilu jsou blokovány.
- Adresa CRONu pro všechny profily i pro každý profil zvlášť. Adresa vede přes kontroler modulu, proto funguje také v PrestaShop 9, který blokuje přímé volání PHP souborů v adresáři modulů.
- Pokračování přes CRON. Pokud se generování nevejde do časového limitu serveru, další volání CRONu ho dokončí od místa zastavení.
- Stav v hlavičce modulu. Hlavička ukazuje, zda jsou aktivní profily, zda jsou soubory vygenerované, kdy byl naposledy spuštěn CRON a zda poslední report obsahuje chyby nebo upozornění.
Stahování souborů a odkazy pro integraci
- Stahování v panelu souboru produktů, souboru kombinací a souboru upozornění; u souborů produktů a kombinací je vidět počet řádků a velikost.
- Veřejný odkaz bez přihlášení na soubor produktů a soubor kombinací, s tajným tokenem zvlášť pro každý profil. Odkaz funguje jen pro aktivní profil.
- Zneplatnění odkazů. Tlačítko „Nový odkaz ke stažení” vytvoří nový token profilu a tlačítko „Nový token CRON” – nový token adres CRONu; předchozí adresy přestanou fungovat.
- Soubory mimo hlavní adresář obchodu. Vygenerované soubory jsou uloženy v adresáři modulu chráněném souborem
.htaccessa jsou vydávány pouze přes odkaz s tokenem nebo pracovníkovi v panelu.
Formát souboru a práce v Excelu
- UTF-8 s BOM, středník, konce řádků CRLF. Soubor se v Excelu otevře dvojklikem s českými znaky.
- Desetinná tečka a data ve formátu databáze, přesně jak je očekává import PrestaShop. Pro úpravu cen je nejlepší otevřít soubor přes Data > Z textového souboru/CSV s místním nastavením „Angličtina (Spojené státy)”.
- První řádek je hlavička s názvy sloupců v jazyce profilu; na stránce importu se nastaví přeskočení jednoho řádku.
Administrace, oprávnění a multistore
- Záložky v menu Katalog: „CSV Export Pro” (seznam profilů), „Soubory a CRON” a „CSV formát”, dostupné z lišty záložek modulu.
- Oprávnění PrestaShop. Přístup k záložkám se uděluje ve standardních oprávněních profilů zaměstnanců; zaměstnanec s právem pouze k náhledu nemůže generovat soubory ani měnit profily.
- Zaměstnanci omezení na obchody. Zaměstnanec vidí a upravuje jen profily obchodů, ke kterým má přístup. Adresy CRONu, nový token CRON a mazání souborů verze 1.x jsou dostupné jen zaměstnancům s přístupem ke všem obchodům, protože token CRON obsluhuje každý obchod.
- Český překlad v obou systémech překladů PrestaShop (slovník a katalogy XLF).
Kompatibilita, instalace a aktualizace
- PrestaShop 1.7.0–9.x, PHP 7.0–8.5 (deklarovaná kompatibilita). Instalace, generování souborů a odinstalace jsou automaticky kontrolovány na PrestaShop 1.7.4.4, 1.7.5.2, 8.2.6, 9.0.2 a 9.1.5 a celý cyklus export → import → porovnání s databází na PrestaShop 8.2.6 a 9.0.2.
- Bez externích knihoven a bez Composeru.
- Aktualizace z verze 1.x. Modul přenese uložené konfigurace do profilů, odstraní staré záložky a vstupní body (
cron.php,get.php) a na záložce „Soubory a CRON” zobrazí CSV soubory, které verze 1.x zanechala v hlavním adresáři obchodu, aby je bylo možné odstranit. - Odinstalace odstraní tabulky, nastavení, záložky, uložená mapování importu a vygenerované soubory modulu.
Důležité hranice fungování
- Modul exportuje data; import se provádí standardním CSV importem PrestaShop, který má vlastní omezení popsaná v reportu kompatibility.
- Import PrestaShop rozpoznává kombinace výhradně podle reference – kombinace bez reference při opětovném importu do stejného obchodu vytvoří duplicity.
- V PrestaShop 8 a 9 lze soubor kombinací importovat do obchodu, ve kterém mají produkty dodavatele, pouze jednou; druhý import přeruší chyba databáze v jádru PrestaShop.
- Od PrestaShop 8 import přidá změněnou hodnotu vlastnosti vedle dosavadní, místo aby ji nahradil.
- Modul neexportuje objednávky, zákazníky ani jiná data mimo produkty a kombinace.
- CSV soubor není zabezpečen proti vzorcům tabulkového procesoru: hodnoty začínající znakem „=” se zapisují beze změn, aby je import PrestaShop přenesl přesně.