2013-06-26 84 views
0

我有一个下拉magento属性warranty_labour。我使用我的主题产品/ view.phtml拉动属性,然后附上一个图标以显示您获得的保修。Magento显示属性,如果值留空白

伊夫使用此代码成功作品:

<?php $warranty=$_product->getAttributeText('warranty_labour'); echo '<img style="padding-top: 10px;" src="/images/warrantylabour/'.str_replace(' ', '_',$warranty).'.png" alt="'.$warranty.'">'; ?> 

我觉得当一个产品没有保修属性设置(在后台保留为空)我仍然可以插在代码中的问题在前端喜欢这款产品的源代码:

<img style="pad`ding-top: 10px;" src="/images/warrantylabour/.png" alt="">` 

有没有一种方法,当值未在属性设置我能阻止这种情况的发生?

回答

2

不要忘记逻辑! :-)只是测试$warranty具有使用典型的Magento模板约定的价值:

<?php if($warranty=$_product->getAttributeText('warranty_labour')): ?> 
    <?php echo sprintf('<img style="padding-top: 10px;" src="/images/warrantylabour/%s.png" alt="%s"/>', str_replace(' ', '_',$warranty),$warranty) ?> 
<?php endif; ?> 

这种语法可能会证明这个封装逻辑和串建设成一个辅助方法,我想。