Boost hastigheden med bedre komprimering af billeder

De fleste shops har utrolig mange billeder, så det betyder enormt meget hvor maget de billeder fylder. Vi har en feature der gør at I selv kan vælge om I enten vil levere billeder som PNG eller JPEG.

Umiddelbart bør I altid vælge JPEG, der er velegnede til fotografi-lignende billeder, hvor PNG er bedst til grafik-lignende billeder eller billeder der er gennemsigtige. JPEG er også den eneste hvor det er muligt at styre komprimeringen.

Under Indstillinger for jeres Shoporama shop finder I denne indstilling:

Skærmbillede 2014-03-29 kl. 20.00.29

Det er relevant at vide, at (hvis de er lavet ordentligt altså) jeres template har en funktion til at hente adressen ud på billedet, og det er den funktion der også sørger for at billedet bliver leveret i det rigtige format. Vi gemmer originalen (dog kun i 1000 x 1000 px), og så leverer vi den som shoppen er sat op.

Her er nogle eksempler:

PNG fylder 274.4 KB

JPEG 100 % fylder 133.8 KB

JPEG 80 % fylder 32.4 KB

JPEG 60 % fylder 21.1 KB

Som I kan se er der en del at spare. Så er det op til jer hvor meget komprimering I vil have.

Vis at produktet er nyt

Mange vil gerne vise et ikon, eller noget andet, hvis deres produkt er nyt. Vi har en feature der kan hjælpe med det, og det er metoden getOnlineHours() på produkterne. Den returnerer antal timer siden produktet blev sat online.

Måden den kan implementeres på er som følgende:

<{if $product->getOnlineHours() < 48}>
    Nyhed! (smart ikon fx)
<{/if}>

Ovenstående skriver en tekst – eller måske viser et ikon hvis det er under 48 timer siden produktet blev sat online.

Hvis man vil kunne stille nemt på timerne, så kan man med fordel tilføje et felt i sin theme_settings.ini og bruge det. Jeg tilføjer fx føldende til themes_settings.ini:

[products]
news_in_hours=int

Det gør at der kommer en lille boks under temaindstillinger hvor man kan ændre hvor gammelt noget må være for at det er en nyhed. Boksen ser sådan ud:

Skærmbillede 2014-03-23 kl. 19.57.56

For at checke på det felt kan du bruge følgende kode:

<{if $product->getOnlineHours() < $settings.products.news_in_hours|default:10}>
    Nyhed ...
<{/if}>

Bemærk at jeg bruger “|default:10″ for at angive at hvis feltet ikke er sat så skal default være 10 timer.

Enjoy!