2015-01-30 2 views
4

В настоящее время мы используем TinyMCE (версия: 3.3.9.2 (2010-09-29)) на платформе CakePHP и пытаемся изменить файл Advance Themes tiny_mce/themes/advanced/editor_template.js, чтобы принять синтаксис Microdata (для использования схемы .org словарный запас), добавив следующую строку:tinymce extended_valid_elements для Microdata

extended_valid_elements : "p[itemtype|itemscope|itemprop|id|class|style|title|dir<ltr?rtl|lang|xml::lang|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup]", 

и/или

extended_valid_elements : "@[itemtype|itemscope|itemprop|id|class|style|title|dir<ltr?rtl|lang|xml::lang|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup]", 

Реферирование этот фрагмент отладки: http://www.tinymce.com/develop/bugtracker_view.php?id=4469

Однако, когда мы модифицируем файл и обновляем его, даже когда мы помещаем <p itemtype="def">This is some content.</p>или<div itemscope itemtype="http://schema.org/Movie">This is some content.</div> в качестве тестов в исходном редакторе HTML, все разделяется.

У кого-нибудь есть идеи относительно того, как исправить или что делает TinyMCE продолжением, чтобы разбить структурированные данные?

ответ

0

Перед тем, как TinyMCE v3.4 появился вариант конфигурации cleanup и еще один вариант verify_html. Вы можете попробовать установить эти параметры на false. This thread, по-видимому, предполагает, что какая-либо активация атрибутов все равно произойдет, даже если атрибуты перечислены в extended_valid_elements.

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

Еще одна проблема может быть подтверждена CakePHP. Старые версии CakePHP имеют класс Sanitize, который может отфильтровывать HTML. Убедитесь, что строка не работает через библиотеку, например HTML Purifier.

Смежные вопросы