我有一个适用于warranty_labour的下拉magento属性。我使用我的主题产品/ view.phtml拉入属性,然后附加一个图标以显示您获得的保修。
我已经使用了成功运作的代码:
<?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="">`
如果没有在属性中设置值,有没有办法可以阻止这种情况发生?
答案 0 :(得分: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; ?>
我认为这种语法可能有理由将这种逻辑和字符串构建封装到辅助方法中。