Ne pas afficher les attributs vides dans Magento

Blog de l'équipe Magento

Magento affiche par défaut les attributs vides comme « non » ou « N/A ».

Pour ne pas aficher les attributs vides dans la fiches produits de Magento, ouvrez le fichier / app / design / frontend / default / [nom du thème] / template / catalog / product / view / attribute.phtml dans un éditeur et recherchez les lignes suivantes

<?php foreach ($_additional as $_data): ?>
<tr>
<th><?php echo $this->htmlEscape($this->__($_data[‘label’])) ?></th>
<td><?php echo $_helper->productAttribute($_product, $_data[‘value’], $_data[‘code’]) ?></td>
</tr>
<?php endforeach; ?>

par les lignes suivantes

<?php foreach ($_additional as $_data): ?>
<?php $_attribute = $_product->getResource()->getAttribute($_data[‘code’]);
if (!is_null($_product->getData($_attribute->getAttributeCode())) && ((string)$_attribute->getFrontend()->getValue($_product) !=  »)) { ?>
<tr>
<th><?php echo $this->htmlEscape($this->__($_data[‘label’])) ?></th>
<td><?php echo $_helper->productAttribute($_product, $_data[‘value’], $_data[‘code’]) ?></td>
</tr>
<?php } ?>
<?php endforeach; ?>

 

 
Cédric
co-fondateur de l'agence
Voir les articles de Cédric

3 commentaires sur “Ne pas afficher les attributs vides dans Magento

  1. Bonjour, j’ai mis le code comme telle pour que les attributs vide ne s’affichent pas, mais ils apparaissent tout de même sur la page produit avec la mention non ou n/a.

    Comment faire ? Merci !

    PS : je suis sous magento 1.6.1

  2. J’ai eu le meme soucis en 1.6.2.
    J’ai remplacé par ce code et ça fonctionne

    getResource()->getAttribute($_data[‘code’]);
    if (!is_null($_product->getData($_attribute->getAttributeCode())) && ((string)$_attribute->getFrontend()->getValue($_product) !=  »)) { ?>

    htmlEscape($this->__($_data[‘label’])) ?>
    productAttribute($_product, $_data[‘value’], $_data[‘code’]) ?>

    Il semblerait que le » pose pb

Les commentaires sont fermés.