Bij Shopp zitten een aantal standaard widgets geleverd, inclusief een producten widget. Maar wat deze widget mist is eigenlijk cruciaal voor je webshop: visuele ondersteuning, ofwel: de thumbnail van je product.
Remkus de Vries (wpdimensie.nl) is zo vriendelijk geweest om mij de code te geven die hij heeft gebruik voor de ‘Nieuwe producten’ widget op de website Alleen Natuurlijk.
De code
<?php shopp('catalog','new-products','load=true&show=3');
if ( shopp('category','hasproducts','load=prices,images') ) :
while(shopp('category','products')) : ?>
<a href="<?php shopp('product','link'); ?>"><?php shopp('product','thumbnail','class=latestproductthumb'); ?></a>
<h3><a href="<?php shopp('product','link'); ?>"><?php shopp('product','name'); ?></a></h3>
<?php shopp('product','summary'); ?>
<hr/>
<?php endwhile;
else : ?>
<h3>Niets gevonden</h3>
Helaas hebben we niets kunnen vinden.
<?php endif; ?>
Uitleg
Misschien had je het al gezien: bovenstaande code geeft 3 producten weer uit de ‘smart category’ “New products” (ofwel: nieuwe producten).
Na het laden van deze producten (dat met <a title="Zie ook Overzicht van categorieën op catalog.php" href="http://hiranthi.nl/tutorials/overzicht-van-categorieen-op-catalog-php/">shopp</a>('catalog','new-products','load=true&show=3'); gedaan wordt) is een if/else blok. De code in de if wordt alleen uitgevoerd als het resultaat van <a title="Zie ook Alle producten op je catalog.php - v2" href="http://hiranthi.nl/tutorials/alle-producten-op-je-catalog-php-v2/">shopp</a>('category','hasproducts','load=prices,images') true is. Ofwel: als de categorie waar we in zitten (in dit geval dus de “Nieuwe producten” categorie) producten bevat. De else wordt uitgevoerd als die if false retourneert (ofwel: er zitten geen producten in de “Nieuwe producten” categorie).
In de if zit een while-loop. De inhoud van die while-loop wordt eenmaal per product uitgevoerd, in totaal dus drie keer. In die while-loop geven we de volgende dingen weer per product:
- De product thumbnail, met link naar de productpagina (de thumbnail krijgt ook een
class="latestproductthumb"mee. - De product naam, met link naar de productpagina.
- De korte omschrijving (summary) van het product.
Als widget gebruiken
Bovenstaande code kun je gebruiken in bijvoorbeeld je sidebar.php, maar als je een PHP widget plugin hebt (of een plugin als Exec PHP) dan kun je de PHP code in een widget plakken en neerzetten waar je wilt.






2 Responses to Productenwidget met thumbnails
Karin 18 november 2009
Hallo Hiranthi. Bedankt voor het linkje
Ik ben erg blij met deze oplossing in de sidebar. Een afbeelding bij de nieuwe producten was voor mij een echte must én dat je daar dan ook op kan klikken.
hiranthi 19 november 2009
Hallo Karin,
Geen dank hoor. Is toch het minste wat ik kan doen (ook leuk om de widget ‘live’ te kunnen zien), toch?