Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

Prestashop – obrázky – vazba v databázi

puhy.cz
verified
rating uzivatele
(5 hodnocení)
7. 2. 2013 17:53:26
Dobrý den,
potřeboval bych poradit, jak u prestashopu slinkovat obrázky s jednotlivými produkty. U všech eshopů se kterými jsem se zatím setkal, byla cesta k obrázku někde v tabulce s vazbou na id produktu. U prestashopu je tomu jinak. Co jsem v db vypozoroval tak obrázky mají stejné ID jako produkty a jsou umístěny v adresářové struktuře s tím id a celkově je to nějak záhadné. Nenapsal by někdo jak to je abych to nemusel moc luštit?
Nebo je nějaká možnost jak databázi prestashopu vnutit cestu obrázku?
Díky.
7. 2. 2013 17:53:26
https://webtrh.cz/diskuse/prestashop-obrazky-vazba-v-databazi/#reply863612
hlavní obrázek je vždy v /img/p/id_produktu-id_produktu.jpg, ostatní jsou v /img/p/id_produktu-id_jineiddaneprestou.jpg
7. 2. 2013 18:21:09
https://webtrh.cz/diskuse/prestashop-obrazky-vazba-v-databazi/#reply863611
V tabulce ps_image je struktura:
id_image | id_product | position | cover
1. V případě jednoho obrázku pro produkt je to jednoduché: id_image = id_product
Např. pro id_product 1023 nazvu soubor 1023-1023.jpg, přes FTP nakopíruji obrázky do adresáře /img/p/ a dám Regenerovat miniatury
Platí to pro volbu Použít starý souborový systém pro obrázky > Ano.
Když je v databázi velký počet produktů (tisíce) změním Použít starý souborový systém pro obrázky > Ne a dám Přesunout obrázky. Obrázky se pak přesunou do adresářové struktury takto: /img/p/1/0/2/3/1023.jpg
2. Když chci pro jeden produkt několik obrázků vymyslel jsem si řešení tak, abych se v tom vyznal:
Pro produkt 1023 přičítám k id produktu násobky 10000 a vytvořím id obrázků 11023, 21023, 31023 atd. Obrázky pak mají názvy 1023-11023.jpg, 1023-21023.jpg atd.
Dále postupuji stejně jako v bodu 1.
Toto je vhodné pro použití importu zboží z XML a aktualizaci obrázků přes FTP nebo když potřebuji nahrát velké množství obrázků najednou. Je to pouze návod, ale samotné řešení přejmenování názvu, resp. importu si musíte naprogramovat podle vašeho zdroje dat.
Napsal Michal Škoula;906260
hlavní obrázek je vždy v /img/p/id_produktu-id_produktu.jpg, ostatní jsou v /img/p/id_produktu-id_jineiddaneprestou.jpg
Obrázek má stejné id jako produkt, pouze v případě 1 obrázek -> 1 produkt.
Který obrázek je hlavní pro daný produkt určuje proměnná cover (hodnoty 1/0).
7. 2. 2013 18:52:09
https://webtrh.cz/diskuse/prestashop-obrazky-vazba-v-databazi/#reply863610
puhy.cz
verified
rating uzivatele
(5 hodnocení)
7. 2. 2013 20:41:02
Díky !
7. 2. 2013 20:41:02
https://webtrh.cz/diskuse/prestashop-obrazky-vazba-v-databazi/#reply863609
puhy.cz
verified
rating uzivatele
(5 hodnocení)
16. 2. 2013 20:25:09
Díky moc, trochu jsem se zasekl na tom, že id_image je AUTO INCREMENT, jak vytvořím id které potřebuju? Pro jeden obrázek mi to funguje, ale potřebuju to ještě rozchodit pro více obrázků...
Napsal stanono;906285
V tabulce ps_image je struktura:
id_image | id_product | position | cover
1. V případě jednoho obrázku pro produkt je to jednoduché: id_image = id_product
Např. pro id_product 1023 nazvu soubor 1023-1023.jpg, přes FTP nakopíruji obrázky do adresáře /img/p/ a dám Regenerovat miniatury
Platí to pro volbu Použít starý souborový systém pro obrázky > Ano.
Když je v databázi velký počet produktů (tisíce) změním Použít starý souborový systém pro obrázky > Ne a dám Přesunout obrázky. Obrázky se pak přesunou do adresářové struktury takto: /img/p/1/0/2/3/1023.jpg
2. Když chci pro jeden produkt několik obrázků vymyslel jsem si řešení tak, abych se v tom vyznal:
Pro produkt 1023 přičítám k id produktu násobky 10000 a vytvořím id obrázků 11023, 21023, 31023 atd. Obrázky pak mají názvy 1023-11023.jpg, 1023-21023.jpg atd.
Dále postupuji stejně jako v bodu 1.
Toto je vhodné pro použití importu zboží z XML a aktualizaci obrázků přes FTP nebo když potřebuji nahrát velké množství obrázků najednou. Je to pouze návod, ale samotné řešení přejmenování názvu, resp. importu si musíte naprogramovat podle vašeho zdroje dat.
Obrázek má stejné id jako produkt, pouze v případě 1 obrázek -> 1 produkt.
Který obrázek je hlavní pro daný produkt určuje proměnná cover (hodnoty 1/0).
16. 2. 2013 20:25:09
https://webtrh.cz/diskuse/prestashop-obrazky-vazba-v-databazi/#reply863608
Popsaný "systém", na ukládání obrázků, který jsem popsal, je funkční pouze pokud se obrázky vkládají přímo do databáze (přes vlastní modul či skript). To, že je id_image nastaveno jako AUTO INCREMENT nehraje žádnou roli.
V případě standardního vložení obrázku přes administraci je to problém, bylo by nutné doplnit vkládaní čísla obrázku.
16. 2. 2013 20:36:39
https://webtrh.cz/diskuse/prestashop-obrazky-vazba-v-databazi/#reply863607
puhy.cz
verified
rating uzivatele
(5 hodnocení)
16. 2. 2013 20:39:22
Jj, mám svůj skript. Ale bojím se abych něco nedomyslel. Co když někdo přidá třeba jedno zboží s obrázky ručně. Nebude moct dojít ke kolizi?
Napsal stanono;910582
Popsaný "systém", na ukládání obrázků, který jsem popsal, je funkční pouze pokud se obrázky vkládají přímo do databáze (přes vlastní modul či skript). To, že je id_image nastaveno jako AUTO INCREMENT nehraje žádnou roli.
V případě standardního vložení obrázku přes administraci je to problém, bylo by nutné doplnit vkládaní čísla obrázku.
16. 2. 2013 20:39:22
https://webtrh.cz/diskuse/prestashop-obrazky-vazba-v-databazi/#reply863606
I na to existuje jednoduché řešení – nastavit počáteční hodnotu AUTO_INCREMENT mimo rozsah číslování skriptu.
Příklad: Předpokládám že budu mít maximálně 9999 položek zboží a pro každou maximálně 99 obrázku tzn. maximální číslo obrázků je 999999. Nastavím proto hodnotu pro autoincrement
ALTER TABLE id_image AUTO_INCREMENT = 1000000;
Obrázky, které se vloží přes administraci budou mít číslo stále větší jako 1000000 a nemůže tak dojít ke kolizi v číslování.
16. 2. 2013 20:57:20
https://webtrh.cz/diskuse/prestashop-obrazky-vazba-v-databazi/#reply863605
puhy.cz
verified
rating uzivatele
(5 hodnocení)
16. 2. 2013 21:01:34
To: stanono
Dík moc!
16. 2. 2013 21:01:34
https://webtrh.cz/diskuse/prestashop-obrazky-vazba-v-databazi/#reply863604
Napsal stanono;910603
Příklad: Předpokládám že budu mít maximálně 9999 položek zboží a pro každou maximálně 99 obrázku tzn. maximální číslo obrázků je 999999. Nastavím proto hodnotu pro autoincrement
ALTER TABLE id_image AUTO_INCREMENT = 1000000;
OPRAVA - správně mělo být:
ALTER TABLE ps_image AUTO_INCREMENT = 1000000;
16. 2. 2013 21:03:36
https://webtrh.cz/diskuse/prestashop-obrazky-vazba-v-databazi/#reply863603
puhy.cz
verified
rating uzivatele
(5 hodnocení)
16. 2. 2013 22:04:36
jj, to jsem pobral:-)
Napsal stanono;910608
OPRAVA - správně mělo být:
ALTER TABLE ps_image AUTO_INCREMENT = 1000000;
16. 2. 2013 22:04:36
https://webtrh.cz/diskuse/prestashop-obrazky-vazba-v-databazi/#reply863602
puhy.cz
verified
rating uzivatele
(5 hodnocení)
20. 2. 2013 14:53:01
To stanono: Tak ještě to není vše. Udělal jsem to podle tebe kromě toho nového souborového systému, ale obrázky se nezobrazují, presta je hledá na adresách nového souborového systému zanořené v číselných složkách ... jak ji donutit aby to hledala ve složce img/p ? Chtěl bych zůstat u toho starého systému, protože na to mám napsaný skript a dávám to vše do složky img/p ...
20. 2. 2013 14:53:01
https://webtrh.cz/diskuse/prestashop-obrazky-vazba-v-databazi/#reply863601
Konfigurace > Obrázky > Obrázky produktů
Použít starý souborový systém pro obrázky - Ano
a pak ještě Regenerovat miniatury
20. 2. 2013 15:10:49
https://webtrh.cz/diskuse/prestashop-obrazky-vazba-v-databazi/#reply863600
puhy.cz
verified
rating uzivatele
(5 hodnocení)
20. 2. 2013 15:23:06
Dík. Ještě je problém s regenrováním těch miniatur, končí to timeoutem. Nemáš vyzkoušeno, jaký je potřeba nastavit max_execution_time? Je tam 300 a končí to timeoutem. Jedná se o asi 5000 produktů s tím, že každý má tak 2 - 6 obrázků....
Napsal stanono;912479
Konfigurace > Obrázky > Obrázky produktů
Použít starý souborový systém pro obrázky - Ano
a pak ještě Regenerovat miniatury
---------- Příspěvek doplněn 20.02.2013 v 15:47 ----------
Hmm, tak problém možná bude jinde, obrázky mám ve složce img/p takto:
Ale shop je při zobrazení hledá takto: /4942-34942-large_default/rozkldac-rohov-sedaka-acai-lev-ke-s1.jpg ...
to je dobre?
20. 2. 2013 15:23:06
https://webtrh.cz/diskuse/prestashop-obrazky-vazba-v-databazi/#reply863599
Obrázky i cesta k obrázkům jsou uložené správně. Generuje se ti cca 30000 obrázku, takže poprvé to může být i 10-20 min. Je dobré generovat pouze nové obrázky (Vymazat předchozí obrázky odznačit).
U tak velkého počtu bych použil nový souborový systém. Nemusíš nic měnit obrázky mohou být uloženy do adresáře img/p, pouze přepnout Použít starý souborový systém pro obrázky - Ne a zadat Přesunout obrázky, obrázky se přesunou automaticky.
20. 2. 2013 16:00:12
https://webtrh.cz/diskuse/prestashop-obrazky-vazba-v-databazi/#reply863598
Pro odpověď se přihlašte.
Přihlásit