Afficher les sous categories d’une categorie et le nombres produit

février 18, 2010 55 Commentaires

Code magento permettant d’afficher les sous catégories et le nombre de produits des sous catégories. Pratique pour aider à la navigation, quand le client arrive dans une catégorie il a accès à toutes les catégories avec le nombre de produits qu’elle contient, ainsi qu’un lien vers la sous catégorie

Placez le code dans list.phtml

Le code est ajouté dans list.phtml de votre thème magento actif.

<?php 
 
 //obtenir catégorie courante de magento
$catcourante = Mage::registry('current_category');
 
//  id
$collection = Mage::getModel('catalog/category')->getCategories($catcourante->getEntityId());
 
 
foreach($collection as $cat) {
   if($cat->getIsActive()) {
	$category = Mage::getModel('catalog/category')->load($cat->getEntityId());
 
         // collection de produits visibles avec un tatut actif
 
	$prodCollection = Mage::getResourceModel('catalog/product_collection')->addCategoryFilter($category);
	Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($prodCollection);
	Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($prodCollection);
 
	?><!--sortie Html -->
	<a href="<?php echo $category->getUrl() ?>"><?php echo $category->getName() ?></a> (<?php echo $prodCollection->count() ?>)<br/>
 
	<?php
	}
}
 
?>

Le code et clair et commenté, vous pouvez supprimer le nombre de produits en supprimant

<?php echo $prodCollection->count() ?>
Les sous catégories de magento sont affichées avec le nombre de produits et un lien vers chaque sous catégories..

Les sous catégories de magento sont affichées avec le nombres de produit et un lien vers chaques sous catégories.

Tags: Code
55 commentaires : “Afficher les sous categories d’une categorie et le nombres produit”
  1. riderbox dit :

    le soucis vient de cette ligne sur le site de production

    $collection = Mage::getModel(‘catalog/category’)->getCategories($catcourante->getEntityId());

    en remplaçant $catcourante->getEntityId() par un id de mes catégories, je me retrouve toujours avec le même résultat les 3 catégories se trouvant sur l’accueil.

  2. riderbox dit :

    je viens même de remarquer que si j’ecris la ligne comme ceci :

    $collection = Mage::getModel(‘catalog/category’)->getCategories();
    cela fonctionne aussi et je me retrouve avec les 3 catégories de l’accueil

  3. cédric rousset dit :

    tu es sur que tu as bien construit ton arbre des catégories ?

  4. riderbox dit :

    mon arbre est construit de cette façon
    1-TT
    1-1 sous cat tt 1
    1-2 sous cat tt 2
    1-3 sous cat tt 3
    1-4 sous cat tt 4
    2-Route
    2-1 sous cat route 1
    2-2 sous cat route 2
    2-3 sous cat route 3
    2-4 sous cat route 4
    3-quad
    3-1 sous cat quad 1
    3-2 sous cat quad 2
    3-3 sous cat quad 3
    3-4 sous cat quad 4

    visuellement sur l’administration quand on regarde les arbres sur le site de dev et de prod, ils sont identique

  5. cnahon dit :

    Bonjour,

    je me suis servi de ce script pour répertorier toutes les catégories (sur plusieurs niveaux) de mon site. Mais les catégories sont classées par ID et non par ordre alphabétique ou par classement du BackOffice.

    y’a-t-il moyen d’y remédier ?

Poster un commentaire

(obligatoire)

(obligatoire)