Nick Gourlie Nick Gourlie - 12 days ago 7
HTML Question

Magento Product Attribute Keeps Displaying HTML

I am adding a product attribute onto my product pages in Magento Enterprise V 1.14.1 and I can't get the HTML to display as it should on the frontend. I have WYSIWYG disabled with the 'Allow HTML Tags on Frontend' set to yes and have confirmed in my PHPAdmin databases that it is set to 1, but on my product page it is still displaying the raw HTML.

On the same page I have attributes which point to a static block with HTML and those display as they should, but this attribute which uses a text field doesn't seem to want to display correctly.

This is the code I am using to call my attribute in case that is where the issue is lying where 'static_block' is the name of my attribute I'm trying to call:

<?php echo $this->htmlEscape($_product->getData('static_block')); ?>


And what's weird is when I enable 'Visible on Product View Page on Front-end' and it appears in the 'Additional Information Tab' it displays as it should. So I'm guessing there might be something wrong with my script which is calling the attribute.

Thanks for the help!

Answer

It appears to be converting the html into Escaped HTML, which I do not think you want in this case. Try without htmlEscape() wrapping the static_block.

<?php echo $this->$_product->getData('static_block'); ?>

--- 11/10/2014 13:00 EST

It now appears you are calling an array for echo, rather than individual elements of an array.

--- 11/10/2014 13:15 EST

I stripped the HTML, used an HTML cleaner and, using Google Chrome's Edit HTML feature, I stripped out the quoted block and pasted the cleaned HTML and it worked perfectly, which pretty much confirms the Escaped HTML is to blame. It is reading &lt;div&gt; rather than <div> for instance.