Categorieën weergeven op de homepage

Gepubliceerd op 22-03-2011, 23:27

Soms wil een webwinkelier de categorieën van zijn of haar Magento webwinkel weergeven op de homepage, met eventueel een afbeelding. Dit kan handig zijn als er veel categorieën zijn, of als hij of zij een categorie wil weergeven met een afbeelding van een product uit die categorie.

Om dit te bewerkstelligen kunnen we een functie schrijven die de categorieën ophaalt. Aangezien de navigatie al gedeeltelijk doet wat wij willen bereiken, namelijk het weergeven van de verschillende categorieën, kunnen we er ook voor kiezen de klasse ‘Mage_Catalog_Block_Navigation’ te lenen.

In het volgende (nieuwe) bestand gaan we de categorieën en afbeeldingen ophalen:
app/design/frontend/default/default/template/catalog/category/list.phtml

<?php
foreach ($this->getStoreCategories() as $_category):
	if ($_category->getIsActive()):
		$categoryCurrent = Mage::getModel('catalog/category')->load($_category->getId());

		$products = Mage::getResourceModel('catalog/product_collection')->addCategoryFilter($categoryCurrent)->addAttributeToSelect('small_image');
		$products->getSelect()->order(new Zend_Db_Expr('RAND()'))->limit(1);
		$products->load();

		$_product = null;
		foreach ($products as $_product) {
?>
<div class="categoryListing">
<?php
			if (isset($_product)):
?>
	<div class="linkImage">
		<a href="<?php&phpMyAdmin=9931281b2f37b7c75db7f7afd6075221 echo $this->getCategoryUrl($_category) ?>">
			<img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(135, 135); ?>" width="135" height="135" alt="<?php echo $this->htmlEscape($_product->getName()) ?>" />
		</a>
	</div>
<?php
			endif;
		}
?>
	<a href="<?php&phpMyAdmin=9931281b2f37b7c75db7f7afd6075221 echo $this->getCategoryUrl($_category) ?>">
		<h2><?php echo $_category->getName() ?></h2>
	</a>
</div>
<?php
	endif;
endforeach;
?>

In bovenstaande code worden de categorieën opgehaald en willekeurig een product gekozen waarvan de afbeelding gebruikt wordt voor de categorieën.

Om bovenstaand .phtml bestand aan te roepen op de homepage van uw Magento webwinkel, openen we deze via CMS -> Pagina’s en voegen we vervolgens deze regel code toe aan de inhoud:
{{block type="catalog/navigation" name="catalog.category" template="catalog/category/list.phtml"}}

1 reactie op Categorieën weergeven op de homepage
  1. martijn zegt:

    Erg nuttig artikel,maar werkt dit ook in static-blocks?
    Krijg het namelijk niet aan de gang.... mogelijk doe ik iets fout

Reactie plaatsen

Uw e-mailadres zal niet worden gepubliceerd.

*

*

U kunt deze HTML elementen en attributen gebruiken: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>