В прошлый раз, когда я использовал CKEditor, все прошло гладко. Я установил его, и он автоматически принял мой CSS для рендеринга HTML. Вчера я сделал то же самое, но на этот раз в другом проекте, используя базу zurb в качестве базы для моего сайта. За исключением этого времени, CKEditor просто игнорирует все существующие CSS...
Вот как я делаю вещи:
Файл php со всеми редактируемыми полями, которые извлекает задний конец:
$text13 = "innehall/text13.txt";
if (isset($_POST['body13'])) {
$newData = nl2br(htmlspecialchars ($_POST['body13']));
$handle = fopen($text13, "w");
fwrite($handle, $newData);
fclose($handle);
}
if (file_exists($text13)) {
$myData13 = file_get_contents($text13);
$myData13 = $myData13;
}
Файл задней части:
<form id="form" name="form" method="post">
<label>Beskrivning:</label>
<textarea class="ckeditor" name="body13" id="body13">
<?php echo str_replace("<br />","",$myData13); ?>
</textarea><br>
<input id="submit" name="myBtn" type="submit" value="Uppdatera fältet" />
</form>
Файл php со всеми источниками, которые получит индекс:
$text13 = "administration/innehall/text13.txt";
if (file_exists($text13)) {
$myData13 = file_get_contents($text13);
}
Index.php:
<h2 class="dark_text"><?php echo $myData13 ?></h2>
Итак, результат здесь в том, что CKEditor игнорирует мой класс на моем <h2>
, поэтому мой вопрос: как заставить CKEditor принять мою таблицу стилей, чтобы рендеринг HMTL был точно таким же, как у меня в моем CSS? Или, альтернативно, как я могу заставить CKEditor не иметь каких-либо стилей вообще, чтобы рендеринг принимался вместо моего HTML?
Вы можете сказать, что CKEditor интегрируется как div, а не как iframe, который будет автоматически интегрировать css в зависимости от каскадной зависимости в вашем CSS. См. Встроенную интеграцию и [divArea Addon] в (ckeditor.com/addon/divarea)
Также вы можете установить класс css cc и css исходного кода, чтобы CKEditor использовал ваш CSS.
Проверьте API config.contentsCss и [config.bodyClass] на (docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-bodyClass)
Также в вашем коде я не могу найти какой-либо из необходимых JavaScript для применения CKEditor.
(Невозможно опубликовать более двух ссылок из-за низкой репутации, вам придется скопировать дополнительные ссылки и добавить часть протокола, sry)
<script src="ckeditor/ckeditor.js"></script>
в теге head. Автоматически все текстовые области конвертируются. Что касается остального, что вы сказали, я прочитаю эту документацию и посмотрим, как она будет работать. Большое спасибо!CKEDITOR.replaceAll();
позвоните куда-нибудь в вашем коде JavaScript. Или вызовCKEDITOR.inlineAll();
проверьте документ о заменах CKEditor здесь в API . Я не знаю, что это за поведение по умолчанию, но вы заменяете текстовые области, и это достаточно хорошо, хотя вы должны выяснить, какой конфиг применяется (скорее всего, config.js в папке ckeditor).