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

Ostatné technické problémy.

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

Poslaťod Tara » 08. Jún 2017 11:07

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ť?
Tara
 
Príspevky: 18
Registrovaný: 11. Jan 2017 20:11
Verzia OpenCartu: 1.5.6.4

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

Poslaťod Martin80 » 08. Jún 2017 12:25

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> "
Martin80
 
Príspevky: 53
Registrovaný: 30. Jan 2017 12:03
Verzia OpenCartu: 2.3.0.2

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

Poslaťod Tara » 09. Jún 2017 11:25

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
Tara
 
Príspevky: 18
Registrovaný: 11. Jan 2017 20:11
Verzia OpenCartu: 1.5.6.4

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

Poslaťod Martin80 » 09. Jún 2017 13:04

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íš.
Martin80
 
Príspevky: 53
Registrovaný: 30. Jan 2017 12:03
Verzia OpenCartu: 2.3.0.2

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

Poslaťod Tara » 09. Jún 2017 13:20

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.
Tara
 
Príspevky: 18
Registrovaný: 11. Jan 2017 20:11
Verzia OpenCartu: 1.5.6.4

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

Poslaťod Martin80 » 09. Jún 2017 13:57

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> ".;
Martin80
 
Príspevky: 53
Registrovaný: 30. Jan 2017 12:03
Verzia OpenCartu: 2.3.0.2


Späť na Všeobecná podpora

Kto je on-line

Užívatelia prezerajúci fórum: Žiadny registrovaný užívateľ nie je prítomný a 1 hosť

cron