2013-06-26 60 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; ?> 

這種語法可能會證明這個封裝邏輯和串建設成一個輔助方法,我想。