Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Атрибут продукта Magento продолжает отображать HTML

Автор вопроса: NartrainОтветов: 2

Я добавляю атрибут продукта на страницы своих продуктов в Magento Enterprise V 1.14.1 и не могу заставить HTML-код отображаться должным образом во внешнем интерфейсе. У меня отключен WYSIWYG, для параметра "Разрешить HTML-теги во внешнем интерфейсе" установлено значение "да", и я подтвердил в своих базах данных PHPAdmin, что для него установлено значение 1, но на моей странице продукта он по-прежнему отображает необработанный HTML.

На той же странице у меня есть атрибуты, которые указывают на статический блок с HTML, и они отображаются так, как должны, но этот атрибут, который использует текстовое поле, похоже, не хочет отображаться правильно.

Это код, который я использую для вызова своего атрибута в случае, если проблема заключается в том, где "static_block" - это имя моего атрибута, который я пытаюсь вызвать:

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

И что странно, когда я включаю "Видимый на странице просмотра продукта во внешнем интерфейсе", и он появляется на вкладке "Дополнительная информация", он отображается так, как должен. Поэтому я предполагаю, что что-то не так с моим скриптом, который вызывает атрибут.

Спасибо за помощь!

enterprisehtmlmagentoproduct

Ответы

Ответ 1 · B SHarper

Похоже, он преобразует html в экранированный HTML, чего я не думаю, что вы хотите в этом случае. Попробуйте без htmlEscape() оборачивать static_block.

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

--- 10.11.2014 13:00 по восточному поясному времени

Теперь кажется, что вы вызываете массив для эха, а не отдельные элементы массива.

--- 10.11.2014 13:15 по восточному поясному времени

Я удалил HTML, использовал средство очистки HTML и, используя функцию редактирования HTML в Google Chrome, я удалил блок в кавычках и вставил очищенный HTML, и все заработало отлично, что в значительной степени подтверждает, что виноват экранированный HTML. Например, он читает &lt;div&gt;, а не <div>.

Ответ 2 · vinay

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

пожалуйста, используйте этот код

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы