0

我有一个用于warranty_labour 的下拉magento 属性。我正在使用我的主题 product/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="">`

当属性中未设置值时,有没有办法阻止这种情况发生?

4

1 回答 1

2

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

<?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; ?>

我认为,这种语法可能证明将这种逻辑和字符串构建封装到辅助方法中是合理的。

于 2013-06-26T12:01:47.943 回答