Иногда мы сталкиваемся с магазином, который хочет иметь много разных атрибутов товара, но им нужен только набор атрибутов по умолчанию. Это означает, что каждый продукт будет иметь, скажем, 10+ вариантов, которые иногда не относятся к определенным продуктам. Например, предмету одежды может потребоваться атрибут размера, а предмету мебели - нет. Поскольку магазин использует одинаковые наборы атрибутов для каждого продукта, атрибут пустого размера будет отображаться так:
Это, конечно, очень запутанно для клиентов, поэтому лучшим вариантом будет скрыть пустые значения атрибутов. Это можно сделать с помощью небольшого фрагмента кода. Найдите и откройте attributes.phtml
файл. Этот файл можно найти здесь:app/design/frontend/default/[theme name]/template/catalog/product/view/attribute.phtml
Откройте файл и найдите следующие строки:
<?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; ?>
Замените весь цикл foreach следующими строками кода:
<?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; ?>
Это оно! Пустые атрибуты теперь будут скрыты от страниц вашего продукта. Не забудьте обновить кеш, чтобы увидеть изменения.
SOurce : https://tejabhagavan.blogspot.in/2016/03/hide-magento-attributes-with-no-value-2.html