Jump to content

VYŘEŠENO - Vzorova tabulka pro tvorbu CSV a import do PS 1.1


Ota

Recommended Posts

Ahoj všem,
Chci si rozjet zkušební localhostový Prestashop. Ovšem vkládání produktů přes Back-end se mi jeví krajně neefektivní.
Než budu vytvářet svoji výchozí tabulku v Excelu, kterou pak budu převádět do CSV, chtěl bych Vás všechny požádat, zda můžete poskytnout Váš vzor. Mohl bych zkusit vytvořit vlastní na základě těchto údajů http://www.prestashop.com/wiki/Importing_Product_Data/ ... ale proč vymýšlet něco, co již je jistě na světě ?

Na různých fórech jsem vysledoval, že lépe je nejdříve importvat CSV kategorií a následně zboží. Nejdříve však je zapotřebí obrázek či obrázky zkloubit s produktem novým sloupcem ID v tabulce a následném CSV. Obrázky musí být uvedeny s jejich plným URL umístěním. PS si je zkoupíruje a pak upraví a vloží do img adresáře.
Dále pro importu českých znaků jsem z některého fora stahnul upravený tools.php. Jeste jsem nezkusil, ale diky moc.
Další věcí je právo na adresář TMP, které musí být 777, pro případ uploadu na hosting.
A poslední co jsem vyzkoumal, že pro větší obrázky je zapotřebí zapsat to .htaccess následující :
# adjust memory limit
php_value memory_limit 64M
php_value max_execution_time 18000.

Tak jsem se snažil sumarizovat vše co jsem pochytil o importu CSV do PS 1.1, nevím zda jsem něco pominul ?
Šablonu Tabulkového procesoru jako vzor pro CSV jsem nikde prozatím nenašel. Předem děkuji všem, kdo nabídne.

Zatím ahoj
Ota

Link to comment
Share on other sites

  • 2 weeks later...

Ahoj všem,

tak zpátky na stromy. Pro správný import češtiny není zapotřebí dělat žádnou zněmu v Tools.php. Alespoň ve verzi PS 1.1, kterou jsem si stáhnul. Zkusil jsem Bee In upravený Tools.php pak jsem vrátil původní soubor a výsledek importu CSV s českými znaky ve formátu UTF-8 byl stejný.

Import jak produktů tak kategorií s obrázky a kompletními českými znaky mi již tedy chodí bez problémů, doufejme.
Jediná změna, kterou jsem musel udělat je uložit CSV soubor ve formátu UTF-8 a nikoliv Windows 1250. Pak mi PS importoval veškerou češtinu bez problémů. Ve formátu Windows 1250 mi nesprávně importoval některé české znaky.
Trklo mě to, když jsem si pročítal jiný Thread, kde bylo řešením češtiny také uložit soubor ve formátu UTF-8.
Nejsem programátor a ani PHP znalec, jsem samouk, proto nechápu vliv formátu UTF-8. Podle Wiki, tento formát říká jak mají být zapsána data v 8bitovém formátu, nechápu jaký má vliv na znakovou sadu ? Možná, že kombinace Windows 1250 znakové sady a nativní ukládání v UTF-8 dělá PSku neplechu a proto je zapotřebí ukládat soubory v samotném UTF-8 formátu ? Nevím, pokud máte někdo vysvětlení budu za něj moc rád.
Pro import používám středníkové dělítko. Nezaškrtávám konvertovat do Unicode. Používám bez problémů jak české tak anglické admin prostředí.

Jelikož mi zde pomáháte, chci také pomoci. Proto jsem Vám napsal řešení a přiložil vzorové CSV. Vzorové CSV není ještě dokonalé, chybí nastavení Features a mnoha dalších vhodných kategorizování produktů. Nulové sloupce neimportujte což zvolíte při identifikaci sloupců tj. "Ignorovat tento sloupec".
Důležité je, že chcete-li produkt dát do více kategorií musíte kategorie vypsat a odělit je čárkou např. do (Home, Pevné disky, Seagate). Nesmíte oddělovat znakem pro oddělení CSV sloupců. Pro oddělování sloupců používám středník. Podobně funguje i vkládání informací o Features tj. Vlastností atd...
Při importu napište, že první řádek (s identifikátory sloupců) bude přeskočen, jinak Vám na import prvního řádku bude vypsána chyba.
Důležité pravidlo, nikdy nesmí být ve Vaší databázi zboží, kategorie atd.. se stejným ID. Jinak Vám PS napíše chybu importu. Proto je lépe zaškrtnout přepsání všech kategoií i zboží při importu ! Unikátní ID je pro Prestu velice důležité, když jsem si procházel tabulky databáze, je toto ID prakticky všude, všechno má svoje ID, což je logické.
Proto máte-li některé zboží ve Vašem obchodě, edituje ID kategorie či produktu vzorovách CSV na nějaké hausnumero např. 9991,9992,9993 atd...
Samozřejmě je zapotřebí do uvedených cest obrázků URL, nakopírovat příslušené soubory, do správného adresáře se správnými jmény atd...

díky
Ota

ps_product_czech.csv

ps_category.csv

  • Like 1
Link to comment
Share on other sites

  • 4 months later...
Ahoj všem,

tak zpátky na stromy. Pro správný import češtiny není zapotřebí dělat žádnou zněmu v Tools.php. Alespoň ve verzi PS 1.1, kterou jsem si stáhnul. Zkusil jsem Bee In upravený Tools.php pak jsem vrátil původní soubor a výsledek importu CSV s českými znaky ve formátu UTF-8 byl stejný.

Import jak produktů tak kategorií s obrázky a kompletními českými znaky mi již tedy chodí bez problémů, doufejme.
Jediná změna, kterou jsem musel udělat je uložit CSV soubor ve formátu UTF-8 a nikoliv Windows 1250. Pak mi PS importoval veškerou češtinu bez problémů. Ve formátu Windows 1250 mi nesprávně importoval některé české znaky.
Trklo mě to, když jsem si pročítal jiný Thread, kde bylo řešením češtiny také uložit soubor ve formátu UTF-8.
Nejsem programátor a ani PHP znalec, jsem samouk, proto nechápu vliv formátu UTF-8. Podle Wiki, tento formát říká jak mají být zapsána data v 8bitovém formátu, nechápu jaký má vliv na znakovou sadu ? Možná, že kombinace Windows 1250 znakové sady a nativní ukládání v UTF-8 dělá PSku neplechu a proto je zapotřebí ukládat soubory v samotném UTF-8 formátu ? Nevím, pokud máte někdo vysvětlení budu za něj moc rád.
Pro import používám středníkové dělítko. Nezaškrtávám konvertovat do Unicode. Používám bez problémů jak české tak anglické admin prostředí.

Jelikož mi zde pomáháte, chci také pomoci. Proto jsem Vám napsal řešení a přiložil vzorové CSV. Vzorové CSV není ještě dokonalé, chybí nastavení Features a mnoha dalších vhodných kategorizování produktů. Nulové sloupce neimportujte což zvolíte při identifikaci sloupců tj. "Ignorovat tento sloupec".
Důležité je, že chcete-li produkt dát do více kategorií musíte kategorie vypsat a odělit je čárkou např. do (Home, Pevné disky, Seagate). Nesmíte oddělovat znakem pro oddělení CSV sloupců. Pro oddělování sloupců používám středník. Podobně funguje i vkládání informací o Features tj. Vlastností atd...
Při importu napište, že první řádek (s identifikátory sloupců) bude přeskočen, jinak Vám na import prvního řádku bude vypsána chyba.
Důležité pravidlo, nikdy nesmí být ve Vaší databázi zboží, kategorie atd.. se stejným ID. Jinak Vám PS napíše chybu importu. Proto je lépe zaškrtnout přepsání všech kategoií i zboží při importu ! Unikátní ID je pro Prestu velice důležité, když jsem si procházel tabulky databáze, je toto ID prakticky všude, všechno má svoje ID, což je logické.
Proto máte-li některé zboží ve Vašem obchodě, edituje ID kategorie či produktu vzorovách CSV na nějaké hausnumero např. 9991,9992,9993 atd...
Samozřejmě je zapotřebí do uvedených cest obrázků URL, nakopírovat příslušené soubory, do správného adresáře se správnými jmény atd...

díky
Ota



ahoj,

moc díky za přehledně sepsaní rady pro import. Mám problém s importem kategorií (zboží jsem zatím nezkoušel), některé řádky s diakritikou nejdou nahrát ((ID 6) cannot be saved), přestože mám správný UTF-8 soubor (uložený v pspadu). V Presta 1.2 import stejného souboru proběhne ok. Netušíte čím to může být, případně vyzkoušet import mého souboru na své verzi (zkoušel jsem to ale i na čisté instalaci 1.1., anj mám zaplou, zkoušel jsem různé oddělovače.... Moc díky za jakoukoliv radu..

ps_categoryName.csv

Link to comment
Share on other sites

Ahoj všem,

tak zpátky na stromy. Pro správný import češtiny není zapotřebí dělat žádnou zněmu v Tools.php. Alespoň ve verzi PS 1.1, kterou jsem si stáhnul. Zkusil jsem Bee In upravený Tools.php pak jsem vrátil původní soubor a výsledek importu CSV s českými znaky ve formátu UTF-8 byl stejný.

Import jak produktů tak kategorií s obrázky a kompletními českými znaky mi již tedy chodí bez problémů, doufejme.
Jediná změna, kterou jsem musel udělat je uložit CSV soubor ve formátu UTF-8 a nikoliv Windows 1250. Pak mi PS importoval veškerou češtinu bez problémů. Ve formátu Windows 1250 mi nesprávně importoval některé české znaky.
Trklo mě to, když jsem si pročítal jiný Thread, kde bylo řešením češtiny také uložit soubor ve formátu UTF-8.
Nejsem programátor a ani PHP znalec, jsem samouk, proto nechápu vliv formátu UTF-8. Podle Wiki, tento formát říká jak mají být zapsána data v 8bitovém formátu, nechápu jaký má vliv na znakovou sadu ? Možná, že kombinace Windows 1250 znakové sady a nativní ukládání v UTF-8 dělá PSku neplechu a proto je zapotřebí ukládat soubory v samotném UTF-8 formátu ? Nevím, pokud máte někdo vysvětlení budu za něj moc rád.
Pro import používám středníkové dělítko. Nezaškrtávám konvertovat do Unicode. Používám bez problémů jak české tak anglické admin prostředí.

Jelikož mi zde pomáháte, chci také pomoci. Proto jsem Vám napsal řešení a přiložil vzorové CSV. Vzorové CSV není ještě dokonalé, chybí nastavení Features a mnoha dalších vhodných kategorizování produktů. Nulové sloupce neimportujte což zvolíte při identifikaci sloupců tj. "Ignorovat tento sloupec".
Důležité je, že chcete-li produkt dát do více kategorií musíte kategorie vypsat a odělit je čárkou např. do (Home, Pevné disky, Seagate). Nesmíte oddělovat znakem pro oddělení CSV sloupců. Pro oddělování sloupců používám středník. Podobně funguje i vkládání informací o Features tj. Vlastností atd...
Při importu napište, že první řádek (s identifikátory sloupců) bude přeskočen, jinak Vám na import prvního řádku bude vypsána chyba.
Důležité pravidlo, nikdy nesmí být ve Vaší databázi zboží, kategorie atd.. se stejným ID. Jinak Vám PS napíše chybu importu. Proto je lépe zaškrtnout přepsání všech kategoií i zboží při importu ! Unikátní ID je pro Prestu velice důležité, když jsem si procházel tabulky databáze, je toto ID prakticky všude, všechno má svoje ID, což je logické.
Proto máte-li některé zboží ve Vašem obchodě, edituje ID kategorie či produktu vzorovách CSV na nějaké hausnumero např. 9991,9992,9993 atd...
Samozřejmě je zapotřebí do uvedených cest obrázků URL, nakopírovat příslušené soubory, do správného adresáře se správnými jmény atd...

díky
Ota



ahoj,

moc díky za přehledně sepsaní rady pro import. Mám problém s importem kategorií (zboží jsem zatím nezkoušel), některé řádky s diakritikou nejdou nahrát ((ID 6) cannot be saved), přestože mám správný UTF-8 soubor (uložený v pspadu). V Presta 1.2 import stejného souboru proběhne ok. Netušíte čím to může být, případně vyzkoušet import mého souboru na své verzi (zkoušel jsem to ale i na čisté instalaci 1.1., anj mám zaplou, zkoušel jsem různé oddělovače.... Moc díky za jakoukoliv radu..



tak me to funguje az po uprave (inspired by ota :-)

static public function link_rewrite($str, $utf8_decode = false)
   {
       $purified = '';
       $length = Tools::strlen($str);
       if ($utf8_decode)
           $str = utf8_decode($str);
       for ($i = 0; $i < $length; $i++)
       {
           $char = Tools::substr($str, $i, 1);
           if (Tools::strlen(htmlentities($char)) > 1)
           {
               $entity = htmlentities($char, ENT_COMPAT, 'UTF-8');
               $purified .= $entity{1};
           }
           elseif (preg_match('|[[:alpha:]]{1}|u', $char))
               $purified .= $char;
           elseif (preg_match('<[[:digit:]]|-{1}>', $char))
               $purified .= $char;
           elseif ($char == ' ')
               $purified .= '-';
       }
     return trim(self::strtolower($purified));
   } 



misto
return $purified;
jsem zmenil na
return trim(self::strtolower($purified));

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...