2015-03-10 1 views
1

Я пытаюсь интегрировать CKEditor во внутреннее PHP-приложение, где в прошлом я просто вставлял свой HTML в поле textarea в форме.Использование пользовательского тега html в CKEditor

Этот HTML-код, который я представляю в форме, предназначен для специальной системы шаблонов, в которой используются пользовательские теги. Затем эти пользовательские теги будут заменены реальными данными на моем бэкэнд. Например, счет-фактура будет иметь собственный тег <% INVOICE #%>, который мой бэкэнд заменит правильным номером счета-фактуры.

При использовании CKEditor эти типы тегов преобразуются в htmlentities, такие как &lt;%INVOICE#&gt;, что прерывает мою замену строк на бэкэнд.

Есть ли способ сделать CKEditor распознать теги, которые находятся в формате <% *%> и не конвертировать их каким-либо образом?

ответ

1

Простейший способ защитить теги от модификаций - использовать config.protectedSource. С плагином Show Protected (сторонний аддон) вы даже можете увидеть защищенный код в области wysiwyg.

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

Виджеты мощные, что означает, что технически возможно написать даже плагин, который возвращает <%INVOICE#%> в исходном коде, но показывает номер реального счета в области wysiwyg.

+0

Спасибо! Это то, что я искал! –

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