Столкнулся с такой проблемой – текстовые редакторы движков при редакции страницы из админки перекраивают HTML код по-своему.
То, что в некоторых пропадает закрывающий слеш (например, вместо <br />, он пишет <br>, вместо <img src="img" />, пишет <img src="img">) еще не так проблемно, а вот то, что пропадают значки-иконки Будстрап, Амезон и тд, уже очень плохо....
Причем как то избирательно. Например "fa fa-home" пропускает, а вот такое
<div class="align"><i class="icon-cog-circled"></i></div>
перекраивает в такое
<div class="align"><br /><br /> </div>
то есть редакторы не «понимают» выражения типа <i>...........</i> и заменяют их на что то другое.
Перепробовал такие вот редакторы: FCKeditor; TinyMCE; Imperavi; LiveEditor; NicEdit; Redactor, все они переписывают код по-своему.
Подскажите, плиззззз, решение такой заморочки. Ну, или толковый редактор.
Спасибо!
Есть такая беда, попробуйте этот TinyMCE Advanced.
Цитата: Vlad03 от 30-06-2017, 11:06:57
Есть такая беда, попробуйте этот TinyMCE Advanced.
этот редактор тоже в моем "черном списке"......
Большинство редакторов можно настроить и указать, какие теги надо резать, а какие нет. И где Вы используете эти редакторы?
Цитата: ProtectYourSite от 06-07-2017, 09:26:43
Большинство редакторов можно настроить и указать, какие теги надо резать, а какие нет. И где Вы используете эти редакторы?
Настройку по-быстрому, с наскока не получилось сделать...
Пытался по аналогии замены <br> на <p>, но видно чего то я недопонимаю.
Стоят эти редакторы в разных сборках движка Kandidat CMS.
Сейчас работаю со сборкой с редактором FCKeditor, он наиболее адекватно относиться к 99% тегов.
А тег </i>, автозаменой меняю еще в шаблоне на тег <span>, но это конечно не выход.
ЦитироватьСтолкнулся с такой проблемой – текстовые редакторы движков при редакции страницы из админки перекраивают HTML код по-своему..
Цитата: Sorokin Vladimir от 06-07-2017, 12:44:53Стоят эти редакторы в разных сборках движка Kandidat CMS.
Хороший выход, это просто блокнот )
1. Открываем в текстовом редакторе Notepad++ нужные файл, который расположен по адресу папка сайта \articles\категория\название-страницы.dat (Пункт 1 Картинки)
2. Если делаем это постоянно, то выбираем синтаксис html для данного вида файлов (.dat), делаем это для того, чтобы блокнот нам красиво подсвечивал html-теги. Если всё равно, пункт 2 можно пропустить.
3. (Пункт 4 Картинки)
<!-- Kan_content -->
Сюда вставляем содержание страницы с тегами.
Например:
<div class="align"><i class="icon-cog-circled"></i></div>
<!-- Kan_content -->
4. Жмем сохранить, на этом всё.
З.Ы. Таким образом, нам вообще не нужен никакой текстовый редактор движка ), да и админка по сути ненужна, ведь нам никто не мешает копировать страницы, а между спецкодами ставить название страницы, её описание и ключевые слова. Спецкоды у вас будут немного отличаться, так как часть я переделал под собственные нужды, но основные будут совпадать. В принципе, там всё понятно, куда какая информация должна добавляться.
Однако, прошу обратить внимание, при вставки текста в <!-- Kan_content -->, он должен быть размечен тегами полностью.(https://www.sbup.com/seo-forum/proxy.php?request=http%3A%2F%2Fnvs71.ucoz.ru%2Fimg%2F2017%2F4.png&hash=ccb4ad1bc9c355902ded842de3f1050db880cdf6)
Цитата: nvs-vovan от 06-07-2017, 19:30:46Таким образом, нам вообще не нужен никакой текстовый редактор движка ), да и админка по сути ненужна, ведь нам никто не мешает копировать страницы, а между спецкодами ставить название страницы, её описание и ключевые слова. Спецкоды у вас будут немного отличаться, так как часть я переделал под собственные нужды, но основные будут совпадать. В принципе, там всё понятно, куда какая информация должна добавляться.
Вы это расскажите пользователю, который добавляет и редактирует страницы из Админки, по другому не умеет, да и не обязан уметь!
Все, что вы описали, я делаю со своими сайтами с самых первых дней.
Но как быть клиенту, который изменил в редакторе Админки всего-навсего одно слово и у него пропали все символы и иконки, так как редактор уничтожил все теги <i class="icon-cog-circled"></i> ?!
Цитата: Sorokin Vladimir от 06-07-2017, 19:51:13Вы это расскажите пользователю, который добавляет и редактирует страницы из Админки, по другому не умеет, да и не обязан уметь!
Это я должен был откуда узнать? В вашем вопросе, вы так красиво описываете стили Bootstrap 3, с неким упоминанием добавлением иконок через шрифты awesome, а не только glyphicon...
Вот я подумал, что уж вставить код, не вызовет никаких проблем )))
А пользователю своему скажите, пусть он если не понимает, не открывает редактор кода, а правит в визуальном редакторе как уж получится ... ибо, если он да и не обязан знать, то нечего лезть туда куда не знаешь ;)
Извините за несколько резкий ответ!
Что бы не было ругачек между нами, проясню ситуацию.
Человек хочет заказать у меня сайт. Я предлагаю ему, для начала, выбрать готовый шаблон (есть у меня подборка на все случаи) если нет то, делаю ему «с нуля».
Затем он либо шаблон просто забирает, либо просит натянуть на движок.
А потом он уже добавляет контент через админку, а большинство прямо в админке, в редакторе, его и пишут, как делают миллионы счастливых обладателей сайтов на самых разных движках с визуальными редакторами.
Вот так все и случилось в первый раз....
Заказчик выбрал шаблон, я натянул его на движок. Буквально через несколько часов он связался со мной и рассказал, что стал менять название сайта и увидел, что пропали все иконки. Вот тогда и всплыла эта проблема......
Теперь я конечно сначала сам обкатываю шаблон, и меняю проблемные теги, но все это отнимает много времени и, по большому счету - не выход из положения.
Хотелось бы навести порядок в самом редакторе, а настолько хорошо я редакторы не знаю......
Цитата: Sorokin Vladimir от 07-07-2017, 07:56:39Буквально через несколько часов он связался со мной и рассказал, что стал менять название сайта и увидел, что пропали все иконки. Вот тогда и всплыла эта проблема......
Давно уже админку не открывал ) Открыл глянуть ... так название сайта меняется не в редакторе же ... там вообще нет никакого редактора изменения хранятся в файле functions.php и добавляется название в меню командой php вставить ... Как это могло повлиять на какие-то там иконки стилей не очень понятно. Так что ваш заказчик скорее всего лазил через блокнот в файле menu.php или template.php ;) а говорит, как и все говорят ... ничего не трогал, только кнопочку нажал, оно само )))
В принципе это и хорошо, оказываете так сказать текущую поддержку сайта )
Открыл редактор в Kandidat_CMS_202_CKEditor так я даже не нашел в нем как можно переключиться из визуального редактора в редактор кода ) Поэтому как вы и заказчики умудряетесь через редакторы вводить теги, для меня загадка ... к сожалению, с редакторами ничем не могу помочь.
Мой совет был как обойти проблему без редакторов.
Я говорю про иконки в шаблоне сайта, а не редактора.
Шаблон типа Лендпейдж - одна длинная страница и править все очень легко именно из админки в текстовом (визуальном) редакторе.
В админке заходите в «начало» и справа кнопочки, возле каждой страницы «редактировать».
И для того, что бы редактор сделал свое «черное дело» не надо лезть в исходный код, достаточно изменить одно слово и нажать внизу кнопочку «Изменить».
Что мой клиент и сделал.....
А редактор кода открывается кнопочкой «источник»
Цитата: Sorokin Vladimir от 07-07-2017, 14:22:55А редактор кода открывается кнопочкой «источник»
Точно, я не додумался ... ну что же, теперь буду знать, может пригодится когда.
А в вашем случае, как вы уже упоминали остается тег <span class=""></span> раз он работает, тем более, что в и мануале по Bootstrap 3 иконки рекомендуют делать именно в теге span, а не в i.
Поэтому, раз span не режет редактор не вижу никаких проблем и поводов менять редактор из-за такой мелочи ... на мой конечно скромный взгляд )
В недрах интернета нашел решение, как прекратить самовольное редактирование (удаление) тегов при работе с редактором СКЕ.
В штатный файл «config.js» прописываем (меняем) такой код:
/**
* @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md or http://ckeditor.com/license
*/
CKEDITOR.editorConfig = function( config ) {
// Define changes to default configuration here. For example:
// config.language = 'fr';
// config.uiColor = '#AADC6E';
config.enterMode = CKEDITOR.ENTER_BR;
config.shiftEnterMode = CKEDITOR.ENTER_P;
config.allowedContent = true;
config.protectedSource.push(/<(style)[^>]*>.*<\/style>/ig);
config.protectedSource.push(/<(script)[^>]*>.*<\/script>/ig);// разрешить теги <script>
config.protectedSource.push(/<(i)[^>]*>.*<\/i>/ig);// разрешить теги <i>
config.protectedSource.push(/<\?[\s\S]*?\?>/g);// разрешить php-код
config.protectedSource.push(/<!--dev-->[\s\S]*<!--\/dev-->/g);
config.indentClasses = ["ul-grey", "ul-red", "text-red", "ul-content-red", "circle", "style-none", "decimal", "paragraph-portfolio-top", "ul-portfolio-top", "url-portfolio-top", "text-grey"];
//config.contentsCss = ["/css/bootstrap.css", "/css/styles.css"];
config.contentsCss = ["/css/styles.css"];
config.disableNativeSpellChecker = false;
customConfig: '/js/bootstrap.min.js';
config.bodyClass = 'mystyle';
config.fontawesomePath = '/js/ckeditor/plugins/fontawesome/font-awesome/css/font-awesome.min.css';
config.codeSnippet_languages = {
javascript: 'JavaScript',
php: 'PHP',
html: 'HTML',
css: 'CSS',
mysql: 'MYSQL'
};
};
После чего 99% тегов остаются без изменения.
Попробуй ContentTools или Markdown-редакторы с поддержкой HTML. Но лучше писать код вручную или использовать более надежные инструменты, такие как VS Code с плагинами для предпросмотра. В конечном итоге, это сэкономит кучу времени и нервов.