Hi all
I have a custom product attribute that contain text names of badges.
So a particular value might be 'free delivery'.
In my custom template, I need to display the badge/badges associated with the badge name, using the name as part of the image name.
Current code so far is below, but I can't get the image to display.
Page code shows:
src="http://www.domain.co.uk/media/wysiwyg/badge/" so i'm missing the image file name.
<?php
/** @var Mage_Catalog_Model_Product $_product */
/** @var Mage_Eav_Model_Entity_Attribute_Set $attributeSet */
$_product = $this->getProduct();
/** @var array $badges_array */
$badges = $_product->getAttributeText('badges');
if (!empty($badges) && !is_array($badges)) {
$badges = array($badges);
}
?>
<?php if (!empty($badges) && count($badges) > 0) : ?>
<div class="product-attribute product-attribute--badges">
<ul class="product-attribute__list">
<?php foreach ($badges as $badge) : ?>
<?php $img_src=strtolower(preg_replace('/[^A-Za-z0-9]/', '', $badge)); ?>
<li class="product-attribute__item">
<img
class="product-attribute__image"
src="<?php echo $this->getUrl('media/wysiwyg/badge/' . $img_src . '.png')?>"
alt="<?php echo $this->escapeHtml($badge); ?>"
title="<?php echo $this->escapeHtml($badge); ?>"
/>
</li>
<?php endforeach; // $badges as $badge ?>
</ul>
</div>
<?php endif; // !empty($badges) && count($badges) > 0 ?>Can anyone advise please?
Many Thanks
Quick update:
Using the following:
src="<?php echo $this->getViewFileUrl('wysiwyg/badge/' . $img_src . '.png') ?>"
I get this on the product page:
So what is the correct method so that the correct img scr path is created:
http://domain.co.uk/media/wysiwyg/badge/freedelivery.png
I need to replace this
getViewFileUrl
Many Thanks
Andy
So I've changed the
getViewFileUrlto
getUrl
and now I'm getting the correct path and image file but there's / forwward slash at the end of the image file name!!
http://www.domain.co.uk/pub/media/wysiwyg/badge/freedelivery.png/
What's that about?
Any Ideas?
Andy