Comment supprimer le bouton d’ajout au panier de certaines catégories de magento

La tâche est plutôt complexe, la logique de Magento étant d’afficher le bouton d’ajout au panier dans toutes les catégories ou dans aucune .
Toutefois, cela est possible grâce à l’identifiant unique de la catégorie et un test conditionnel.
Pour ce faire :
  • allez dans le dossier /app/design/frontend/default/abpd/template/catalog/product/
  • ouvrez le fichier list.phtml
  • trouvez ensuite la portion de code qui génère le bouton d’ajout au panier et les autres (chez moi, il commence à partir des lignes 59 et 103)
<?php if($_product->isSaleable()): ?>                           
<p> <button class="button" onclick="setLocation('<?php

echo $this->getAddToCartUrl($_product)  ?>')">

<span><?php echo $this->__('Add to Cart') ?></span></button></p>                            
<?php else: ?>                            
<p class="availability"><span class="out-of-stock">

<?php echo $this->__('Out of stock') ?></span></p>                            
<?php endif; ?>                            
<ul class="add-to-links">                                
<?php if ($this->helper('wishlist')->isAllow()) : ?>                                    
<li><a href="<?php echo $this->helper('wishlist')->getAddUrl($_product) ?>">
<?php echo $this->__('Add to Wishlist') ?></a></li>                                
<?php endif; ?>                                
<?php if($_compareUrl=$this->getAddToCompareUrl($_product)): ?>                                    
<li>
<span class="separator">|</span> 
<a href="<?php echo $_compareUrl ?>">
<?php echo $this->__('Add to Compare') ?></a>
</li>                                
<?php endif; ?>                            
</ul>     

Modifiez cette portion. L’idée ici est de récupérer l’id de la catégorie, puis de l’utiliser pour effectuer le test conditionnel suivant :

lorsque l’id renvoyé est celui d’une catégorie où le bouton doit disparaître, on laisse un blanc. Sinon , on affiche le code permettant de générer le bouton ‘ajouter au panier’

(veuillez remplacer les ID 1 , 2 et 3 par ceux qui s’appliquent dans votre cas.)

<!--on recupere l'id de la categorie-->                 
<?php $category = Mage::getModel('catalog/layer')->getCurrentCategory()->getId();?>                    
<?php if($category == 1):?>
<?php //linstruction ci dessous sert a deboguer ?>                                
<?php //echo $category ;?>
<?php elseif($category == 2): ?>                

<?php elseif($category == 3): ?>                

<?php else: ?>              
<?php if($_product->isSaleable()): ?>                           
<p> <button class="button" onclick="setLocation('

<?php 

echo $this->getAddToCartUrl($_product) 

?>')">

<span><?php 

echo $this->__('Add to Cart') ?>

</span></button></p>                            
<?php else: ?>                            
<p class="availability">

<span class="out-of-stock">

<?php echo $this->__('Out of stock') ?>

</span></p>                            
<?php endif; ?>                            
<ul class="add-to-links">                                
<?php if ($this->helper('wishlist')->isAllow()) : ?>                                    
<li><a href="<?php echo $this->helper('wishlist')->getAddUrl($_product) ?>">
<?php echo $this->__('Add to Wishlist') ?></a></li>                                
<?php endif; ?>                                
<?php if($_compareUrl=$this->getAddToCompareUrl($_product)): ?>                                    
<li>
<span class="separator">|</span> 
<a href="<?php echo $_compareUrl ?>">
<?php echo $this->__('Add to Compare') ?></a>
</li>                                
<?php endif; ?>                            
</ul>                          


<?php endif; ?>

Jean Luc Houédanou

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.