Soms komen we een winkel tegen die veel verschillende product attributen wil hebben, maar ze willen alleen de standaard attribuut set. Dit betekent dat elk product laat ons zeggen 10+ opties zal hebben die soms niet van toepassing zijn op bepaalde producten. Bijvoorbeeld een kledingstuk kan een maat-attribuut nodig hebben, maar een meubelstuk niet. Omdat de winkel dezelfde attribuut-sets gebruikt voor elk product, zal het lege maat-attribuut als volgt worden weergegeven.
Dit is natuurlijk erg verwarrend voor klanten, dus de betere optie zou zijn om attribuutwaarden die leeg zijn te verbergen. Dit kan gedaan worden met een klein stukje code. Zoek en open het attributes.phtml bestand. Dit bestand kan hier gevonden worden:/app/design/frontend/default/[themanaam]/template/catalog/product/view/attribute.phtml
<?php foreach ($_additional as $_data): ?> <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 endforeach; ?>
Vervang de hele foreach-lus door de volgende regels code:
<?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; ?>
Dat is het! Lege attributen zullen nu verborgen zijn op uw productpagina’s. Vergeet niet je cache te vernieuwen om de veranderingen te zien.
Leave a Reply