Jump to content

Import v 1.1


Lukas

Recommended Posts

  • 2 months later...

Mě tedy ne. [ver. 1.1.0.5]

V různých diskusních příspěvcích jsem se dočetl o bugu v 1.1 a o nutnosti přidávat do CSV "ID výrobku"
http://www.prestashop.com/bug_tracker/view/749/

Obejít ho je snadné, jenže to řeší problém pouze v databázi (správné linkování obrázků a výrobků).


Vidím tyhle chyby v importu:
# skript AdminImport.php nekopíruje obrázky zadané v CSV do /img/p/, ačkoliv má adresář chmod 0777, existuje /img/tmp, taktéž s chmod 0777
# názvy výrobků s diakritikou buď zmrší nebo výrobek vůbec neimportuje (obsahuje-li např. název "ě")
# je-li v importu "dodavatel", vytváří pokaždé nového, i když ten uvedený v CSV už existuje
# je-li v importu "výrobce", musí být uvedený číslem ID, jinak dělá totéž co ad 3) [u dodavatelů stejný fígl nefunguje]

Shrnuto: import je prakticky nepoužitelný

Link to comment
Share on other sites


# skript AdminImport.php nekopíruje obrázky zadané v CSV do /img/p/, ačkoliv má adresář chmod 0777, existuje /img/tmp, taktéž s chmod 0777


Jak by taky mohl - v AdminImport.php byl chybně uveden dočasný adresář.
řádek 352:

nesprávně:
$tmpfile = tempnam("/tmp", "ps_import");



jak mi to funguje:

$tmpfile = tempnam(_PS_TMP_IMG_DIR_, "ps_import"); 



http://www.prestashop.com/bug_tracker/view/1231/

Link to comment
Share on other sites


# skript AdminImport.php nekopíruje obrázky zadané v CSV do /img/p/, ačkoliv má adresář chmod 0777, existuje /img/tmp, taktéž s chmod 0777


Jak by taky mohl - v AdminImport.php byl chybně uveden dočasný adresář.
řádek 352:

nesprávně:
$tmpfile = tempnam("/tmp", "ps_import");



jak mi to funguje:

$tmpfile = tempnam(_PS_TMP_IMG_DIR_, "ps_import"); 



http://www.prestashop.com/bug_tracker/view/1231/



Kluci a jak vlastne dostane ty produkty vcetne obrazku do toho CSV?
Link to comment
Share on other sites


Kluci a jak vlastne dostane ty produkty vcetne obrazku do toho CSV?


Umí to kdekterá databáze.
Můj klient ale začíná "na zalené louce", takže data sází do tabulkového kalkulátoru (OpenOffice.org Calc), z něj se pak listy uloží jako CSV s kódováním UTF-8. Seznam polí je uváděn na záložce Tools>Import (anglická verze rozhraní je pro import nezbytná). Obrázky se nahrají do adresáře přes FTP; při importu se pak automaticky přejmenují a kopírují do /img/p. V CSV je třeba uvést celou URL adresu obrázku (např. http://domena.kde-je-eshop.cz/img/tmp/vychazkova-hul.jpg). Má-li se obrázek správně spojit se zbožím, musí CSV obsahovat pole s ID zboží.
Link to comment
Share on other sites


Kluci a jak vlastne dostane ty produkty vcetne obrazku do toho CSV?


Umí to kdekterá databáze.
Můj klient ale začíná "na zalené louce", takže data sází do tabulkového kalkulátoru (OpenOffice.org Calc), z něj se pak listy uloží jako CSV s kódováním UTF-8. Seznam polí je uváděn na záložce Tools>Import (anglická verze rozhraní je pro import nezbytná). Obrázky se nahrají do adresáře přes FTP; při importu se pak automaticky přejmenují a kopírují do /img/p. V CSV je třeba uvést celou URL adresu obrázku (např. http://domena.kde-je-eshop.cz/img/tmp/vychazkova-hul.jpg). Má-li se obrázek správně spojit se zbožím, musí CSV obsahovat pole s ID zboží.

to je na me moc slozity :)
Link to comment
Share on other sites

Mám "interně a bez záruk" vyřešený problém s importem zboží, jehož název obsahuje určitou diakritiku (např. Ž, ě,...), máte-li zapnutá friendly URL kvůli SEO.

Upraví se funkce link_rewrite() v Tools.php a uloží se v cp1250 (!).

Verze pro 1.1.0.5 v příloze.

Tools.php

Link to comment
Share on other sites

Ahoj Bee in,

díky moc za upravený tools.php.

Já nyní budu zápasit z importem zboží. Chtěl bych Tě požádat, mohl by jsi mi poskytnout vzorovou šablonu tabulkového procesoru o kterém píšeš.
Napsal jsem tento Thread do jiného tématu, zde vysvětluji více.
http://www.prestashop.com/forums/viewthread/10928/etina/vzorova_tabulka_pro_tvorbu_csv_a_import_do_ps_1_dot_1
Díky moc
Ota

Link to comment
Share on other sites

Ahoj Bee In,

také jsem špekuloval a už vím kde jsem měl problém. Musel jsem udělat ruční zásah do MySQL databáze a narovnat ID a vazby mezi kategoriemi, nějak jsem si je předtím asi poškodil. Teď mi již import kategorií funguje, budu nyní zkouše import produktů.
Co mě ale prozatím mrzí je problém s importem českých znaků. Zkusil jsem přepsat tools.php tvým, který jsi postnul.
Snažil jsem se najít rozdíl, ale nenašel jsem. Pokud jsi dělal úpravy ?
V každém případě pokud je v řádku jediný nestandardní český znak, tak mi import této dané položky/řádku neprojde a PS 1.1 nahlásí, že nemůže ID uložit.

Máš prosím na to nějaký lék, jak importovat české znaky importem csv. Zkusím ještě zkoumat předchozí témata, zda to nebylo již řešeno.
Díky za radu.
Ota

Link to comment
Share on other sites

V poskytnutém Tools.php je upravena fce link_rewrite. Soubor je poté uložený v kódování cp1250 a import mi běhá.

static public function link_rewrite($str, $utf8_decode = false)
   {

     $purified = $str;
     $purified = preg_replace('~[^\\pL0-9_]+~u', '-', $purified);
     $purified = trim($purified, "-");
     $purified = iconv("utf-8", "cp1250", $purified);
     $purified = StrTr ($purified, "ÁÄČÇĎÉĚËÍŇÓÖŘŠŤÚŮÜÝŽáäčçďéěëíňóöřšťúůüýž", "AACCDEEEINOORSTUUUYZaaccdeeeinoorstuuuyz");
     $purified = strtolower($purified);
     $purified = preg_replace('~[^-a-z0-9_]+~', '', $purified);

       return $purified;
   }

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

díky
Ota

Link to comment
Share on other sites

Ahoj... Celý import mi funguje, až na obrázky.. Změnil sem ten AdminImport, nastavil chmod adresářů.. a nic. Nekopíruje se mi ten obrázek z tmp do p. Když ho ručně dám do p a přejmenuju tak se zobrazi. :( na localu mi to funguje, na webu ne... nenapadá Vás něco?

Link to comment
Share on other sites

ještě dva postřehy. Aby import fungoval musí být povolen jazyk english, jinak to hází chyby. Pokud máte zaplé přátelské URL tak při importu kategorií nevyplňujte "přepsané URL", jinak se pak nezobrazí detaily zboží... podle mých zkušeností.

Link to comment
Share on other sites

  • 2 weeks later...
  • 3 weeks later...
Ahoj... Celý import mi funguje, až na obrázky.. Změnil sem ten AdminImport, nastavil chmod adresářů.. a nic. Nekopíruje se mi ten obrázek z tmp do p. Když ho ručně dám do p a přejmenuju tak se zobrazi. :( na localu mi to funguje, na webu ne... nenapadá Vás něco?


Ahoj - mám stejný problém. Podařilo se to někomu vyřešit?
Link to comment
Share on other sites

  • 4 weeks later...
tak import mi z části funguje, už to neháže žádnou chybu ale nezoprazuje se mi to na webu, nevíte čím by to mohlo být ? díky


Řešení:

1. nahrát obrázky na web - do nějaké složky (např. ...img/p/obrazek.jpg)
2. při importu csv zadat úplnou cestu: např.

/home/virtual_web/mujweb.cz/public_html/eshop/img/p/obrazek.jpg

Jde o tu cestu - při uploadu si zjisti, jakou máš úplnou (to je důležité) cestu (/eshop/img/p/obrazek.jpg - to nestačí)
Link to comment
Share on other sites

Já mám jiný problém!
Import by mi fungoval, ale hlasí to chybu v ID produktů protože jsem některé smazal a tím unikátní ID produktu zaniklo! Nevíte někdo jak ta ID srovnat? Do tabulek jsem ještě nekoukal, otázkou pak zůstává, zda by to bylo na FO bez chyb!

Link to comment
Share on other sites

Zdravim, import mi funguje bez problemu az na jednu vec, max pocet kusu v jednom souboru CSV mam 50-100 v zavislosti na obsazenem textu a poctu importovanych obrazku. Nevite nekdo kde je problem? Takto musim mit velky pocet souboru CSV a po jednom je importovat.

Link to comment
Share on other sites

  • 1 month later...

Mám jeden zajímavý postřeh s importu zboží v prestashopu 1.1. Zboží se neimportuje pokud je v administraci zakázaná angličtina. Hodně dlouho mě trvalo než jsem přišel na to proč nejde importovat zboží. Podle mě je to bug, který možná někde už je opraven. Jinak import se vždy provedl jenom s hláškou, že nelze importovat název a ID.. v adminu ani v databázi zboží vidět nebylo.. jiank kategorie, atributy, výrobci vše bez aj šlo jenom import zboží nešel ;-)

Link to comment
Share on other sites

  • 3 weeks later...
  • 2 weeks later...

Nastavil jsem si češtinu tak že mi to funguje, i podle šablon, na které jsem našel odkaz zde, ale pokaždé mi to hodí hlášku:

Proxy Error

The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request POST /admin1/index.php.

Reason: Error reading from remote server

nemůžete mi nějak poradit, co stím mám dělat. předem děkuji.

Link to comment
Share on other sites

Zdravím,
používate někdo import vlastností? Funguje vůbec?Pořád se mi nedaří a nedaří přes csv vlastnosti importovat. Forum jsem prolezl od začátku ke konci a nikde žádný návod ani tutorial. Máte někdo zkušenost?

Děkuji

Link to comment
Share on other sites

Sme na tom stejně, mě to taky nechce běhat a nevím čím to je. Dělal sem to podle návodů co jsou tady a stejně nic. A jak tak koukám, tak se ani nenajde nikdo kdo, kdo by byl ochotnej poradit těm ostatním, včem je chyba. Tak to vidím tak, že mi nezbyde nic jiného než si to zaplatit a budu mít klid (SNAD).

Link to comment
Share on other sites

  • 1 month later...

Zdravim. Dle Bee In jsem upravil AdminImport.php, ale obrazky se mi do img/p stale nechteji importem csv nakopirovat. Melo to jediny vysledek: v adresari img/tmp nyni vzdy po importu vznika jakysi podivny soubor s nazvem napr. ps_importJ78iMm a nulovou hodnotou (!?). Prava zapisu img/tmp i img/p jsou nastaveny na 777. Prosim, vi nekdo, co s tim?

Link to comment
Share on other sites

Ještě bych rád dodal, že problém asi není v nastavení serveru (open_basedir restrictions apod.) neboť ruční přidávání obrázků mi jde OK. Mám problém jen s tím, že csv import nezapíše obr. do img/tmp, nespustí kopírování do img/p a vygenerování miniatur. (Zkoušeno s absolutním i relativním odkazem na zdroj. obr.)

(BTW: Příkaz ručního Regenerate thumbnails sice napíše 6 chyb (cannot write no-picture to..., check folder´s writting permissions, ...), ale miniatury to přesto znovu správně vygeneruje.)

Uf, co tedy dělám blbě?
:-P

Link to comment
Share on other sites

Ještě bych rád dodal, že problém asi není v nastavení serveru (open_basedir restrictions apod.) neboť ruční přidávání obrázků mi jde OK. Mám problém jen s tím, že csv import nezapíše obr. do img/tmp, nespustí kopírování do img/p a vygenerování miniatur. (Zkoušeno s absolutním i relativním odkazem na zdroj. obr.)

(BTW: Příkaz ručního Regenerate thumbnails sice napíše 6 chyb (cannot write no-picture to..., check folder´s writting permissions, ...), ale miniatury to přesto znovu správně vygeneruje.)

Uf, co tedy dělám blbě?
:-P


Jen krátce,
v IMG mám adresář TMP - tedy temp, tam jsou veškeré obrázky před importem (nikoliv v IMG), nechápu proč, ale to je jedno! Každopádně mi to takto funguje, pokud vytvoříš soubor někde jinde na FTP např. v rootu, tak to mi už taky nešlo - nejspíš záleží asi i na hostingu, jinak IMG/TMP musí fungovat 100% !!
Link to comment
Share on other sites

Diky Bronikusi, uz mi z toho fakt jde hlava kolem!

Nicmene, problem trva, i kdyz pro pripravene obrazky pouzivam img/tmp.
Jeste jednou uplne konkretne:

1) Ftp hodim nevelky 14k soubor image001.jpg do img/tmp. Ma 600 x 600 bodu.
2) Do csv zapisi URL k obrazku do sloupce Image URLs (x,y,z...)
a) bud absolutne http://www.domena.cz/img/tmp/image001.jpg
B) nebo relativne /public_html/www/img/tmp/image001.jpg
Pokusy delam s obema verzemi zapisu.
3) Pres BO importuji csv soubor. Testovane zbozi se naimportuje, ale bez obrazku.
4) Vidim, ze v adresari img/p se nic nezmenilo (nic se tam nezkopirovalo, nevytvorily se miniatury) a v adresari img/tmp se vytvoril jakysi nesmyslny soubor (napr. ps_importmvYxKt) s nulovou hodnotou.

Jakoby byl problem s pravy zapisu (ale to by se nevytvoril ani ten nulovy soubor asi) nebo nevim s cim. Adresare img/tmp, img/p, img jsou nastaveny na 777.

Soubor AdminImport.php i .htaccess jsem zmenil, jak je tady doporuceno. (Mam pocit, ze pred zmenou AdminImport.php se dokonce nevytvarel ani ten nulovy soubor, proste nic). Rucne mi obrazky jdou ke zbozi pridavat v pohode. Tak nevim... Nemusi se zmenit jeste nejaky jiny skript? Uz jsem precetl kdeco... Nekde je neco zakleteho nebo jsem pako.

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