A volte ci imbattiamo in un negozio che vuole avere molti attributi di prodotto diversi, ma vogliono solo il set di attributi predefinito. Ciò significa che ogni prodotto avrà diciamo oltre 10 opzioni che a volte non si applicano a determinati prodotti. Ad esempio, un capo di abbigliamento potrebbe aver bisogno di un attributo di dimensioni, ma un mobile no. Poiché il negozio utilizza gli stessi set di attributi per ogni prodotto, l'attributo dimensione vuota verrà visualizzato in questo modo:
Questo è ovviamente molto confuso per i clienti, quindi l'opzione migliore sarebbe quella di nascondere i valori degli attributi che sono vuoti. Questo può essere fatto con un piccolo codice. Trova e apri il attributes.phtml
file. Questo file può essere trovato qui:app/design/frontend/default/[theme name]/template/catalog/product/view/attribute.phtml
Apri il file e cerca le seguenti righe:
<?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 class="label"><?php echo $this->htmlEscape($this->__($_data['label'])) ?></th>
<td class="data"><?php echo $_helper->productAttribute($_product, $_data['value'], $_data['code']) ?></td>
</tr>
<?php } ?>
<?php endforeach; ?>
Sostituisci l'intero ciclo foreach con le seguenti righe di codice:
<?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 class="label"><?php echo $this->htmlEscape($this->__($_data['label'])) ?></th>
<td class="data"><?php echo $_helper->productAttribute($_product, $_data['value'], $_data['code']) ?></td>
</tr>
<?php } ?>
<?php endforeach; ?>
Questo è tutto! Gli attributi vuoti ora saranno nascosti dalle pagine dei tuoi prodotti. Non dimenticare di aggiornare la cache per vedere le modifiche.
FONTE : https://tejabhagavan.blogspot.in/2016/03/hide-magento-attributes-with-no-value-2.html