Подключаем свои классы class=left и class=right и стили в редактор FCKEditor
Сегодня мы продвинемся дальше, а именно покопаемся в файлах FCKEditor и подключим в него свои классы. Например, можно заменить таким образов файл стандартных стилей fckeditor/editor/css/fck_editorarea.css на свой или подключить сразу свой собственный файл, чтобы в админке мы могли видеть информацию (текст, картинки) в таком же виде, как и во фронтэнде. Это удобно. Параллельно мы сделаем выравнивание изображений по правому и левому краям текста... так, чтобы в редакторе FCKEditor мы это самое выравнивание видели!!
Когда-то мы настраивали правильное отображение расположения картинок в Internet Explorer (см. статью: Проблема: как сделать, чтобы картинки правильно выравнивались по левому или правому краю в IE). Это было примени тельно к визуальному редактору FCKEditor.
Сегодня мы продвинемся дальше, а именно покопаемся в файлах FCKEditor и подключим в него свои классы. Например, можно заменить таким образов файл стандартных стилей fckeditor/editor/css/fck_editorarea.css на свой или подключить сразу свой собственный файл, чтобы в админке мы могли видеть информацию (текст, картинки) в таком же виде, как и во фронтэнде. Это удобно. Параллельно мы сделаем выравнивание изображений по правому и левому краям текста... так, чтобы в редакторе FCKEditor мы это самое выравнивание видели!!
Поехали!
Чтобы код страницы прошёл проверку на валидность, не должно быть в нём у <img> border... align... В то же время в редакторе FCKEditor эти атрибуты мы часто задаём, чтобы выровнять картинку справа или слева от текста. Как не потеряв этой функциональности, сделать чтобы консорциум W3C одобрил наш код?
1. Стили FCKEditor хранятся в fckeditor/editor/css/fck_editorarea.css. Мы не будем изменять его, а создадим в той же папке свой файл - fckeditor/editor/css/almix_fck_editorarea.css. В него поместим свои классы для выравнивания:
.left { float: left; margin: 0 10px 10px 0;} .right { float: right; margin: 0pt 0px 10px 10px;}
2. В fckeditor/fckconfig.js заменим либо добавим строку подключения своего файла стилей (я добавляю):
FCKConfig.EditorAreaCSS = FCKConfig.BasePath + 'css/fck_editorarea.css' ; FCKConfig.EditorAreaCSS = FCKConfig.BasePath + 'css/almix_fck_editorarea.css' ;
3. Теперь сделаем удобное вставление картинок для пользователя редактора. Настройки хранятся в fckstyles.xml. Мы тоже не будем его трогать, а создадим свой - almix_fckstyles.xml, чтобы при обновлении самого редактора не потерять свои изменения. Добавляем в fckconfig.js такую строку FCKConfig.StylesXmlPath = '/path/to/my/fckstyles.xml'. У меня это:
FCKConfig.StylesXmlPath = FCKConfig.EditorPath + 'fckstyles.xml' ; FCKConfig.StylesXmlPath = FCKConfig.EditorPath + 'almix_fckstyles.xml' ;
Файл этот имеет формат:
<?xml version="1.0" encoding="utf-8" ?> <Styles> <Style name="..." element="..."> <Attribute name="..." value="..." /> <Style name="..." value="..." /> ... </Style> </Styles>
Посмотрите на системный fckstyles.xml, чтобы сделать свой. Например:
Чтобы добавить стиль "Foo" который станет доступен в выпадающем списке редактора и обрамит выделенную часть в теги <span class="foo"></span> надо написать:
<Style name="Foo" element="span"> <Attribute name="class" value="foo" /> </Style>
Сделать то же самое, только <div>:
<Style name="Foo" element="div"> <Attribute name="class" value="foo" /> </Style>
Чтобыы вставить inline style, например выровнять image по правому краю:
<Style name="Image on Right" element="img"> <Attribute name="style" value="float:right; margin:0 0 10px 10px;" /> </Style>
Но мы сделаем круче, вставим свой класс. Вот содержимое моего almix_fckstyles.xml:
<?xml version="1.0" encoding="utf-8" ?> <Styles> <Style name="Слева" element="img"> <Attribute name="class" value="left" /> </Style> <Style name="Справа" element="img"> <Attribute name="class" value="right" /> </Style> </Styles>
Здесь как раз и пригодились те классы, которые мы добавляли в первом пункте.
Вот чего мы получаем:
P.S. В следующей версии редактора под названием CKEditor (разработчики изменили название, потому что аббревиатура FCK может читаться как "Fuck", FuckEditor - это как-то по злому) свои стили можно дописать или изменить существующие по адресу - ckeditor/plugins/stylescombo/styles/default.js
CKEDITOR.stylesSet.add('default',[ {name:'Blue Title',element:'h3',styles:{color:'Blue'}}, {name:'Red Title',element:'h3',styles:{color:'Red'}}, {name:'Marker: Yellow',element:'span',styles:{'background-color':'Yellow'}}, {name:'Marker: Green',element:'span',styles:{'background-color':'Lime'}}, {name:'Big',element:'big'}, {name:'Small',element:'small'}, {name:'Typewriter',element:'tt'}, {name:'Computer Code',element:'code'}, {name:'Keyboard Phrase',element:'kbd'}, {name:'Sample Text',element:'samp'}, {name:'Variable',element:'var'}, {name:'Deleted Text',element:'del'}, {name:'Inserted Text',element:'ins'}, {name:'Cited Work',element:'cite'}, {name:'Inline Quotation',element:'q'}, {name:'Language: RTL',element:'span',attributes:{dir:'rtl'}}, {name:'Language: LTR',element:'span',attributes:{dir:'ltr'}}, {name:'Image on Left',element:'img',attributes:{style:'float:left; margin:0 10px 10px 0px;',border:'0',align:'left'}}, {name:'Image on Right',element:'img',attributes:{style:'float:right; margin:0 0 10px 10px;',border:'0',align:'right'}} ]);
almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.
Вы можете почитать все статьи от almix'а.
- 0 Twitter Bootstrap Carousel Crossfade (09.09.2013)
- 0 Inline-block vs float (22.08.2013)
- 0 Список li в две колонки (CSS) (13.03.2013)
- Выдвигающаяся из значка форма поиска на сайте (27.11.2017)
- Выравниваем div внутри другого div по центру (27.11.2017)
- Пробелы между пунктами меню (16.11.2017)
- Как убрать placeholder при клике по input (04.11.2017)
- Выравнивание изображения по центру в Bootstrap (11.12.2016)
- Замена текста при наведении на него мышью. События onmouseover и onmouseout (25.03.2016)
- Прилипание блока к верху сайта при его прокручивании (17.02.2016)
- Как сделать какую-либо область на сайте кликабельной ссылкой? (11.08.2015)
- Красивое выравнивание характеристик на странице товара с отступами, отмеченными точками (11.07.2015)
- Сделать слайдер на Owl Carousel c текстом справа (03.02.2015)
- Скролл-эффекты CSS3 и JQuery при прокрутке страницы (13.01.2015)
- Отзывчивый или Адаптивный веб-дизайн (Responsive Web Design) (05.01.2013)
- Как сделать, чтобы в теге <pre> текст переносился по строкам (wrap text in pre tag)? (15.10.2012)
- Разные стили для внутренних и внешних ссылок (07.04.2012)
- Значок рубля для сайта (25.03.2012)
- Свои стили css для области редактора CKEditor (05.03.2012)
- Yii: Красим нечётные и чётные строки в CListView разными цветами с помощью css (23.02.2012)
- CSS Font-Size: em / px / pt / percent (17.01.2012)
- Делаем тень к тексту на CSS. Обводка текста с помощью CSS (14.12.2012)
- Делаем градиент к тексту, используя CSS (23.10.2011)
- CSS-cвойство z-index: подробный обзор (23.10.2011)
- CSS: свойство visibility: hidden и visibility: visible (23.10.2011)