Export nových produktov na stránku - obrázky

Ostatné technické problémy.
Tara
Príspevky: 29
Dátum registrácie: 11. Jan 2017 20:11
Verzia OpenCartu: 1.5.6.4

Export nových produktov na stránku - obrázky

Príspevok od používateľa Tara »

Vytvoril som si skript, ktorý mi exportuje nové produkty z eshopu na externú stránku. Základné údaje ako názov alebo popis, či cena sa exportujú bez problémov.

Problém mám s obrázkami - export funguje, ale exportujú sa mi uploadované obrázky.

Dáta sa ťahajú z tabuľky oc_product stĺpec image kde je cesta k obrázku /data/images/image.jpg

Tým, že sa exportujú uploadované obrázky, je to veľa dát, pri počte nejakých 100 produktov už ide o niekoľko megabajtov.

Časť skriptu, ktorý mi zobrazí obrázok vyzerá takto:

Kód: Vybrať všetko

echo " Obrázok: <img src=http://www.domain.tld/image/{$row['image']} width='5%'></img> ".
width='5%' je kvôli tomu, aby sa na stránke zobrazil malý obrázok a nie v plnej pôvodnej veľkosti. Ale čo z toho, keď ide len o zmenšeninu pôvodného obrázka.

Ja by som potreboval, aby sa exportovali náhľady 100x100. Ale mne sa zdá, že v databáze tieto údaje nie sú uložené, opencart si ich generuje do cache.

Mohol by som to spraviť, že

Kód: Vybrať všetko

echo " Obrázok: <img src=http://www.opencart.tld/image/cache/{$row['image']} width='5%'></img> ".
lenže skript v cache hľadá image.jpg a nie image-100x100.jpg

Nemá niekto nápad ako to spraviť?
Martin80
Príspevky: 117
Dátum registrácie: 30. Jan 2017 12:03
Verzia OpenCartu: 2.3.0.2
Kontaktovať používateľa:

Re: Export nových produktov na stránku - obrázky

Príspevok od používateľa Martin80 »

A je nejaký problém pridať do cesty tých 100x100? Myslím či sú tie dodatky stále rovnaké alebo nevieš aké budú?

Ak sú stále rovnaké tak skús niečo na tento spôsob, ale samozrejme sa do tá urobiť aj elegantnejšie, je to len postrčenie ďalej.
Existujú aj funkcie ktoré parsujú rovno celé cesty k súborom, je to na Tebe a tvojom kóde, čo Ti vyhovuje viac.

$name = explode('.', $row['image']);
$new_name = $name[0] . "-100x100." . $name[1];

echo " Obrázok: <img src=http://www.domain.tld/image/{$new_name} width='5%'></img> "
Tara
Príspevky: 29
Dátum registrácie: 11. Jan 2017 20:11
Verzia OpenCartu: 1.5.6.4

Re: Export nových produktov na stránku - obrázky

Príspevok od používateľa Tara »

Bude to stále 100x100 ale musím to vložiť ešte pred príponu súboru.

['image'] je /data/images/image.jpg

ja potrebujem z toho spraviť /data/images/image-100x100.jpg
Martin80
Príspevky: 117
Dátum registrácie: 30. Jan 2017 12:03
Verzia OpenCartu: 2.3.0.2
Kontaktovať používateľa:

Re: Export nových produktov na stránku - obrázky

Príspevok od používateľa Martin80 »

V tom prípade to rieši ten kód ktorý som ti napísal a ktorý si zrejme nevyskúšal. Asi ťa zmiatlo to pomenovanie. name[0] je "image" alebo akékoľvek meno ktoré príde, name[1] je "jpg" alebo akákoľvek prípona ktorá príde a medzi to vložíš string "-100x100." a výsledok je "image-100x100.jpg" alebo "meno_obrázku-100x100.prípona_obrázku". Skúsiš, uvidíš, neskúsiš, neuvidíš.
Tara
Príspevky: 29
Dátum registrácie: 11. Jan 2017 20:11
Verzia OpenCartu: 1.5.6.4

Re: Export nových produktov na stránku - obrázky

Príspevok od používateľa Tara »

Testoval som to, kód funguje, musel som len prísť na to, kam to presne vložiť.

Takže takto:

Pôvodný kód:
{
echo Obrázok: <img src=http://www.domain.tld/image/{$row['image']} width='5%'></img> ".;
}
Nový kód:
{
$name = explode('.', $row['image']);
$new_name = $name[0] . "-100x100." . $name[1];

echo Obrázok: </strong> <img src=http://www.domain.tld/image/cache/{$new_name} width='5%' ></img> ".;
}
Dík za pomoc.
Martin80
Príspevky: 117
Dátum registrácie: 30. Jan 2017 12:03
Verzia OpenCartu: 2.3.0.2
Kontaktovať používateľa:

Re: Export nových produktov na stránku - obrázky

Príspevok od používateľa Martin80 »

Rado sa stalo.
Ak by si chcel ušetriť tie dva riadky kódu, tak môžeš použiť aj rovno toto

Kód: Vybrať všetko

echo Obrázok: <img src=http://www.domain.tld/image/cache/".preg_replace('/\./', '-100x100.', $row['image'])." width='5%'></img> ".;
Napísať odpoveď