CKEDitor видаляє імена класів, навіть за винятком у config


17

Здається, CKEditor знімає назви класів, коли я перемикаюсь між переглядом HTML і поданням Rich Text.

Згідно з багатьма пропозиціями в Інтернеті, я додав у файл config.js наступне:

config.allowedContent = true;

Завантажив, очистив кеш і навіть перейшов у файл JS безпосередньо, щоб перевірити, чи не кешується він на моїй машині, але він все одно видаляє класи.

Чи є інше рішення?

Відповіді:


18

Перейдіть до "Адміністратора >> Конфігурація >> CKEditor"; у розділі " Профілі" виберіть профіль (наприклад, Повний ).

Відредагуйте цей профіль і додайте "Додаткові параметри >> Спеціальна конфігурація JavaScript" config.allowedContent = true;.

знімок

Не забудьте промити кеш у розділі "Вкладка продуктивності".


Працює для мене на Drupal 7 з модулем CKEditor 7.x-1.13 та CKEditor 4.3.2. Дякую, я тільки починала боліти головою з цим!
Бендж

1
Тепер у розділі "Адміністратор >> Авторське право вмісту >> Конфігурація >> CKEditor".
Гюго

7

Відредагуйте повний профіль у Конфігурація> CKEditor

введіть тут опис зображення

Відкрийте розділ «Розширений фільтр вмісту» та виберіть «Відключено» введіть тут опис зображення

Не потрібно нічого додавати в поле "Дозволений вміст". Не потрібно змінювати config.js. [... як це не знадобило мені годин і годин, щоб розібратися]


2
Тепер у розділі "Адміністратор >> Авторське право вмісту >> Конфігурація >> CKEditor".
Гюго

1

Цю проблему вирішено у форматі розробників (7.x-2.3, коли опубліковано) у складі CKeditor 4.1 ACF . Ви можете спробувати або оновити свій WYSIWYG, або спробувати наведені нижче способи вирішення.


У Drupal 7 ви можете спробувати наступний гак:

<?php
/**
 * Implements hook_wysiwyg_editor_settings_alter().
 */
function MYMODULE_wysiwyg_editor_settings_alter(&$settings, $context) {
  if ($context['profile']->editor == 'ckeditor') {
    $settings['allowedContent'] = TRUE;
  }
}
?>

або використовуючи якусь іншу ідею:

<?php
/**
 * Implements hook_wysiwyg_editor_settings_alter().
 */
function MYMODULE_wysiwyg_editor_settings_alter(&$settings, $context) {
  if ($context['profile']->editor == 'ckeditor') {
      $settings['extraAllowedContent'] = array(
        'img[src,title,alt,style,width,height,class,hspace,vspace,view_mode,format,fid]',
      );
  }
}
?>

або із таким кодом jQuery:

CKEDITOR.replace( textarea_id, {
    allowedContent: true
} );

Пов'язані:


0

Перейдіть на командос і відключіть wysiwyg взагалі.

Якщо ви вмієте писати основні HTML та CSS, тобто ви не клієнт, тоді вимкніть плагін. Це також покращить ваші навички HTML / CSS

Я витрачав дні, розгадуючи, як запобігти розсипці wysiwyg моїх класів та тегів попереднього коду кожного разу, коли я перезавантажував редактор. Я зрозумів, що все, що я робив, намагався вимкнути всі функції модуля wysiwyg. Тому я її вимкнув.

Так, це суперечить моїй відповіді вище.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.