Termék kép méretének megváltoztatása Fancybox 1.3.4 alatt (Prestashop 1.4.x)

Termék nagy (kinagyított – thickbox) képméretének megváltoztatása Fancybox 1.3.4 alatt. Ezt a változatot a Prestashop 1.4.x-es verziójában találjuk meg.

Bizonyos esetekben előfordul, hogy nem elég a Prestashop által nyújtott alap 600 x 600-as képfelbontás.

Élő példa egy bakelitlemezeket áruló webáruház, ahol rendkívül fontos a jó minőségű kép hogy el lehessen olvasni a borító hátulján lévő zeneszámok részleteit.

Két dolog kell a képeink megnöveléséhez: a képek nagyobb méretre állítása és újrageneráltatása a shoppal, valamint némi Fancybox beállítás. Lássunk hozzá!

Admin felületen navigáljunk a képekhez (beállítások => képek / preferences => images), majd válasszuk ki a thickbox típusú képméretünket szerkesztésre:

thickbox képméret

thickbox képméret

 

Ha beleléptünk, állítsuk át a szélességet és magasságot arra az értékre, amennyire növelni szeretnénk. A példában én 1200 x 1200-ra fogom növelni.

Mentés után lentebb újra kell generáltatni a képeket (ilyenkor a termék eredeti képéből mérettől függően fel vagy legenerálja az 1200 x 1200-as felbontású képet) az alábbi módon:

Képek újragenerálása

Képek újragenerálása

Azonban vigyázzunk ezzel. Ha sok termékünk van, akkor a szerver könnyen túllépi a maximális végrehajtási időt, ami után Internal Server Error-t kaphatunk. Kényes terület megállapítani azt a termékszámot, ami felett biztosan nem tudjuk így legenerálni a képeket, mert ez függ: termékszámtól, termékképek számától, beállított kép méretétől, szerver hardverétől, aktuális szerverterheléstől, szerver beállításától…

Én azt mondanám, hogy 1000 – 3000 feletti termékszám esetén nem érdemes próbálkozni (úgy sem hogy kiszeded a pipát az “Előző képek törlése” elől => ezt azért ajánlja fel, mert idő kell az előző képek törléséhez is, és ha ezt nem alkalmazod akkor időt nyerhetsz, de én nem szeretem mert így a szemetet – vagyis a már nem kellő képeket – fent hagyja szerveren, és amúgy sem nyersz vele csak pár másodpercet), hacsak nem VPS-ről van szó.

Az ilyen esetekben localhoston érdemes tovább próbálkozni. Tehát klónt készíteni a webáruházról, azt felépíteni saját gépünkön (esetleg XAMPP alatt) és a képek újragenerálása előtt módosítani a php.ini-ben a max_execution_time-ot.

Ha sikerült a képek újragenerálásán túljutnunk, akkor a Fancybox-on kell egy kicsit csiszolnunk hogy megszeresse az újdonsült képméretünket. Nyissuk meg a

js/jquery/jquery.fancybox-1.3.4.js

javascriptet, majd keressük ki ezt a részt (valahol a 1108-as sor körül):

autoScale : true,

majd módosítsjuk le false-ra:

autoScale : false,

Ezzel kikapcsoltuk a Fancybox automatikus képméretezését. A hivatalos forrás ezt írja a Fancybox ezen paraméteréről:

autoScale: a FancyBox automatikus méretezésének engedélyezése/tiltása a viewport-hoz
(true | false) (alapértelmezett: true)

Ha ezzel megvagyunk, akkor érdemes egy böngésző cashe-t üríteni (shift + ctrl + del), és utána megnézni, sikerült-e.

 

Ha kérdésed van ne habozz velem felvenni a kapcsolatot! 🙂

Ha segített a cikk, meghívhatsz egy kávéra! 🙂


Puizl Attila Programozó

Az íróról: Puizl Attila

Puizl Attila vagyok, több éve készítek sikeres Webáruházakat Prestashop rendszerrel. Célom hogy a tudásom minőséggé, munkám pedig eredményessé váljon.

Weboldal: → Prestashop Készítés és Fejlesztés

Még megtalálsz:

Ezzel a módszerrel könnyedén jeleníthetünk meg más logót más nyelveken. Példának okáért ha a logónk egy mottóból áll, akkor azt természetesen magyarul jelenítjük meg. Ha többnyelvű a shopunk, akkor egy esetleges angol ügyfél szintén ugyanazt a -magyar- logót fogja látni, ami egy mottó esetében nem túl profi megoldás. Főleg annak…
A Prestashop optimalizációja egy hatalmas téma, ennek ellenére megpróbálom valahol elkezdeni. Természetesen írásom a teljesség igénye nélküli, ezt nézzétek el Nekem. Kezdjük az admin felület Tools => Performance beállításaival: (1.5.x): A Template cashe/Sablon gyorsítótár sose legyen állandóan bekapcsolva, legyen ezen: "Recompile templates if the files have been updated/Sablon fájlok generálása ha…