Rediriger automatiquement vers la page Produit  les catégories qui n’ont qu’un seul produit enregistré

Tous les sites de vente en ligne savent qu’il faut garder le visiteur, potentiel acheteur, sur le site et lui offrir rapidement la réponse à sa recherche. L’exemple des catégories qui n’ont qu’un seul produit enregistré est typique pour le chargement inutile d’une page « Catégorie » – sauf si vous pensez que les détails de cette page doivent être lus. Sinon, le visiteur doit arriver directement à la page « Produit ».

Pour réaliser cette rédirection :

1. Dans l’éditeur de code que vous aimez utiliser, ouvrez la page template des catégories. Par exemple on trouve cette template dans : »racine_magento/app/design/frontend/ma_theme/mon_pack/template/page » et 1column.phtml (si la catégorie s’affiche sur une colonne).

2. Après les lignes

* Template for Mage_Page_Block_Html

Ajoutez ce code

/** ------------------ pour afficher directement le produit si un seul produit product ----*/
$product = Mage::registry('current_product');
if($product == ''){
$category = Mage::registry('current_category');
if(is_object($category)){
$catLoaded = Mage::getModel('catalog/category')->load($category->getEntityId());
$collection = $catLoaded->getProductCollection();
$collection->addAttributeToSelect('*');
if(count($collection) == 1){
foreach($collection as $product){
$productUrl = $product->getProductUrl();
header("location:$productUrl");
exit;
}
}
}
}

ATTENTION : faites toujours un test en local, avant de modifier votre code sur le site final. Faites une sauvegarde de vos fichiers avant toute modification !

J’utilise ce code avec un installation Magento 1.9.2.4 (mais essayé à partir de 1.7, …) et il fonctionne très bien.

Vous pouvez le retrouver sur :

http://www.codeboss.in/