Проверка CKEditor HTML4 для поддержки электронных писем в формате HTML

Здесь несколько вопросов в одном, но я подозреваю, что у всех будет один и тот же ответ.

Использование CKEditor в проекте CakePHP, где редактируемый контент должен сделать html-часть электронного письма.

Большинство почтовых приложений не полностью поддерживают только чистый HTML5.

Например, для центрирования текста в абзаце электронной почты вы используете либо ‹p align=center›, либо ‹center›‹/center›.

В CKEditor при редактировании в исходном режиме, если сделать ‹p align=center› и сохранить его (или просто переключить режим исходного редактирования), он удалит align=center, потому что в HTML5 это больше не действует.

Как разрешить это в CKEditor?

Можно ли включить проверку HTML4 вместо HTML5?

У меня также есть таблица в шаблоне, половина которой редактируется в поле (текстовое поле) под названием «Заголовок» (заголовок шаблона электронной почты) и другое поле под названием «нижний колонтитул».

В верхнем колонтитуле я хочу ‹table›‹tr›‹td› В нижнем колонтитуле я хочу ‹/td›‹/tr›‹/table›

Затем содержимое моего сообщения помещается в ячейку TD между верхним и нижним колонтитулами.

Однако CKEditor не позволит мне иметь тег HTML, а не его закрывающий тег. Любые идеи о том, как это сделать?

С уважением

Ян


person Ian Chilvers    schedule 17.11.2016    source источник


Ответы (1)


Чтобы изменить HTML-код, принимаемый CKEditor, измените его настройки ACF. Самый простой способ — разрешить все:

config.allowedContent = true;

Это не решит проблему разделения таблиц пополам.
Для этого вы можете попробовать использовать config.protectedSource, определяя правило как для открывающей, так и для закрывающей частей, но позаботившись о том, чтобы добавить туда что-то, что позволит вам нацеливаться только на эту таблицу, а не на любую другую таблицу, которая может быть в content.
(Конечно, лучшим решением было бы вынести эту таблицу за пределы редактора при создании почты со всеми частями)

person AlfonsoML    schedule 19.11.2016