Magento 添加属性为空值时产品页显示No的解决办法

当我们在magento里添加了自定义属性后,如果属性值为空,那么产品详细页里,属性的描述就会显示:No。

解决办法:

打开主题里的template/catalog/product/view/attribute.phtml文件,找到以下代码:

<?php foreach($_additionalas$_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; ?>

修改为:

<?php foreach($_additionalas$_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; ?>

相关文章