Jump to content

[Vyřešeno] Import produktů přímo do databáze přes phpmyadmin


jidash

Recommended Posts

Ahoj,
řeším teď pro známého přechod ze starého e-shopu osCommerce na Prestashop 1.1. Původně jsem chtěl všechny věci řešit pomocí CSV importu v administraci, ale není to úplně dle mých představ.

Píšu proto php skript, který mi udělá dump staré databáze do CSV nebo SQL souboru a následně importuju jedním nebo druhým způsobem. Trochu jsem se přitom inspiroval skriptem osc2ps, který ovšem nefungoval úplně dle mých představ.

Základ je samozřejmě kódování souborů utf-8.

Narazil jsem na toto:

- Uživatelé se pomocí CSV naimportují v pořádku.

- S adresami je trochu problém, protože se po importu pomocí CSV musí v tabulce ps_address změnit ještě hodnota id_customer, aby se adresy u uživatelů zobrazovali. Jinak je v administraci prostě není vidět.

- Produktové kategorie jsem trochu pomocí CSV vzdal a naimportoval je rovnou pomocí SQL. Vzhledem k tomu, že je nutné zachovat výchozí kategorii (id 1) v prestashopu zvedl jsem kategorie z oscommerce o jedničku.
SQL soubor pak vypadá nějak takto:

delete from ps_category where id_category !=1;
delete from ps_category_lang where id_category !=1;
insert into ps_category (id_category, id_parent,level_depth,active, date_add, date_upd) values ('42','43','1',1,now(),now());
insert into ps_category_lang (id_category,id_lang, name, link_rewrite) values ('42','3','Bluetooth Adaptéry','bluetooth-adaptery');
insert into ps_category ..... atd.



- Produkty jsou největší peklo. CSV mi nefungovalo a když, tak ne úplně správně. Třeba přiřazení do produktových kategorií nefungovalo vůbec. Říkal jsem si, že pomocí SQL to elegantně vyřeším. Pomocí skriptu vygeneruju soubor SQL, který vypadá nějak takto:

delete from ps_product;
delete from ps_product_lang;
delete from ps_category_product;
insert into ps_product (id_product, id_manufacturer, quantity, price, active, date_add, date_upd) values ('28','9','3','250.0000','0',now(),now()); 
insert into ps_product_lang(id_product,id_lang, name,description, link_rewrite) values ('28',3,'Kryt Nokia 7650 modrý','Balení obsahuje kompletní kryt. Jestliže máte zájem o odbornou výměnu krytu naším technikem, uveďte to prosím v poznámce u objednávky, popř. kontaktujte našeho technika.','kryt-nokia-7650-modry'); 
insert into ps_category_product (id_product,id_category, position) values ('28','18','1'); 
insert into ps_product (id_product, id_manufacturer, quantity, price..... atd.



Všechno v pohodě naimportuju, a když se potom snažím doklikat přes menu k jednotlivým produktům, tak to i v pořádku funguje. Problém nastane, ale ve chvíli, kdy se snažím na produkt přistoupit přímo (pomocí adresy nebo přes novinky nebo prohlédnuté produkty). V tu chvíli to zahlásí Pokus o napadení webu a menu s kategoriemi se vyprázdní.

Podezříval jsem level_depth v tabulce kategorií, ale to bych měl mít správně, takže už opravdu nevím.

Prosím poraďte. Budu vděčný za každou pomoc.
Díky.

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...