Главная
Прикручиваем визуальный редактор текстов к своей CMS Версия для печати Отправить на e-mail
Написал -=Mr.SeVer=-   
Чтобы не мелочиться прикрутим сразу два: FCKeditor и TinyMCE. И то и другое занимает по времени не более 10-15 минут. Потом придется затратить некоторое время, чтобы напильником заточить их под себя, убрать все врожденные глюки и FCKeditor и TinyMCE и т.п. внимательно прочитав их мануалы перед этим, но это отдельная тема.
По умолчанию оба редактора вполне работоспособны, на фоне прочих бесплатных WYSYWIG смотрятся очень хорошо и невзыскательного пользователя вполне устроят.


Устанавливаем FCKeditor

Идем на сайт FCKeditor и копируем оттуда последнюю версию редактора. Как прикручивать правильно, написано в мануале: Но мы прикрутим без мануалов. Создаем директорию fckeditor. Копируем туда fckeditor. Удаляем из этой и вложенной в нее директории лишнее - примеры, смайлики, ненужные файлы языковой поддержки, интерфейсы к ASP,PERL и т.д., php-файлы из корневой директории. В результате сокращаем вдвое объем библиотеки.

Дорабатываем вьюер для добавления записей Вашей CMS допустим это add.php - сразу за textarea для ввода записи пишем js-код для вызова FCKeditor

<div><textarea name="body" id="body" rows="10" cols="40">Comment</textarea></div>
<script type="text/javascript" src="fckeditor/fckeditor.js"></script>
<script type="text/javascript">
var oFCKeditor = new FCKeditor("body"); // привязка к textarea с id="body"
oFCKeditor.ToolbarSet="Basic"; // число кнопочек на инструментальной панели (полная Default)
oFCKeditor.BasePath="fckeditor/"; //путь к fckeditor
oFCKeditor.ReplaceTextarea(); // вставка текста из textarea с id="body"
</script>
<div class="submit"> <input type="submit" value="Submit" /></div>

На этом миимальная установка может считаться законченной. Все, коме отдельных плагинов, в которых возможно и нет никакой необходимости, должно работать. Проверяем результат, вызвав в броузере: add.php

Устанавливаем TinyMCE
Идем на сайт tinymce и копируем оттуда последнюю версию редактора. В архиве куча файлов примеров, документации и т.п. Из всего этого для работы нужна только директория tinymce/jscripts/tiny_mce. Вот ее tiny_mce копируем в нужную директорию

дописываем в начало нашего админочного php вот такой код (между <head> и </head>):

<script language="javascript" type="text/javascript" src="../tiny_mce/tiny_mce.js"></script>
<script language="javascript" type="text/javascript">
tinyMCE.init({
mode : "textareas",
language : "ru_CP1251",
document_base_url : "add.php", convert_urls : false
});
</script>


Проверяем результат, вызвав в броузере: add

Немного о FCKeditor:

FCKeditor не вполне кроссброузерный - для IE он использует родную IE-библиотеку, для прочих броузеров - "кроссброузерную". За счет этого намного быстрее других работает в IE и это особенно заметно при работе с большими текстами. В FireFox степень его глючности и тормознутости точно такая же как и у прочих халявных WYSIWYG. (Имхо) В Opera он вообще не работает, ну и хрен с ней с Оперой.
FCKeditor не обрушивает сложные (с rowspan и colspan) таблицы импортированные из MS Word (Кажется из бесплатных это умеет только редактор встроенный в Joomla).
FCKeditor умеет по-человечески вставлять картинки, без подгрузки дополнительных сторонних плагинов.
Естественно FCKeditor без недостатков (а у кого их нет?). Но из наиболее заметных:

Как-то странно работает отмена исправлений (откат CTRL+Z). И похоже, что это неисправимо в текущей версии..
Норовит добавить лишние строки. Но этим грешит не только FCKeditor. У остальных тоже такая Но можно подпилить код.

О первичной настройке FCKeditor:

Уберем лишние функции с панели инструментов, для этого откроем конфигурационный файл fckeditor/fckconfig.js,
Находим строку FCKConfig.ToolbarSets["Default"] = ...
Редактируем ее, не забыв сохранить на всякий случай ее копию. Я обычно оставляю следующее:

FCKConfig.ToolbarSets["Default"] = [
['FitWindow','Source','PasteWord','RemoveFormat'], ['Textarea'], ['Style','FontFormat'],'/',
['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
['OrderedList','UnorderedList','-','Outdent','Indent'],
['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
['Link','Unlink','Anchor'],
['Image','Table'],
] ;

Переопределяем дефолтные CSS-стили в листбоксе. Для этого редактируется файл fckeditor/fckstyles.xml, который отвечает за листбокс на панели инструментов и fckeditor/css/fck_editorarea.css, отвечающий за отображение стилей в окне редактирования

Настраиваем функцию загрузки картинок в текст (из-за чего и был выбран FCKeditor)
- Открываем файл fckeditor/editor/filemanager/upload/php/config.php
Находим строчку
$Config['Enabled'] = false ;
заменяем ее на
$Config['Enabled'] = true ;
там же правим путь к директории, в которой хранятся картинки. Я храню картинки в директории /img/
нахожу и заменяю строку
$Config['UserFilesPath'] = '/userfiles/' ;
на
$Config['UserFilesPath'] = '/img/' ;
Открываем файл fckeditor/fckconfig.js
Находим и меняем строки
var _FileBrowserLanguage = 'asp' ; // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage = 'asp' ; // asp | aspx | cfm | lasso | php
на
var _FileBrowserLanguage = 'php' ;
var _QuickUploadLanguage = 'php' ;
Там же проконтролируем наличие строки:
FCKConfig.ImageUpload = true ;

Подумайте о безопасности.

Функция Upload не закрыта авторизацией. Поэтому на сайт можно выложить без всякой авторизации что угодно. От вирусов до порно. Чтобы немного обезопаситься можно переименовать директорию FCKeditor во что-то менее стандартное. Для большей безопасности нужно прикрутить авторизацию к Upload и запрет записи в директорию /img/ вне режима добавлеения записей администратором.

По материалам сайта: http://erum.ru/
Добавить в любимые (501) | Просмотров: 15847 | Версия для печати

Коментарии (4)
 
tiffany bracelets 
cheap tiffany bracelet 
tiffany bracelet heart 
tiffany and co bracelets 
tiffany rings 
.All these are generally available within many insurance policies firms getting started at $10 which is certainly very cheap in comparison. 
 
Most insurance underwriters help in reducing your risks nearly some on their hand.Students should really be well understood that every cheap auto insurance policies for the purpose of teens which is available from the vendors are stored for minimizing their risks and therefore they should certainly well apply it and manage automobile in your well-conditioned approach and cut down chances intended for accidents.Many factors should really be taken in take into account starting students car price cut insurance.These comprise of residence region, premium charge, validity, etc ..It is as well important to see that any time a company may need to provide an individual cheap top quality rate of course your car need to be in a superb condition and you should also travel well lessening chances intended for damage
Зарегистрированный
 
ertolamijane, 02:28 08 марта 2012 г.
 
JUICY Handbag 
Chanel Handbag 
Chanel Handbag sale 
cheap Chanel Handbag 
discount Chanel Handbag
Зарегистрированный
 
leemowcorn, 06:59 07 марта 2012 г.
 
.At a dramatically reduced price, these goods may remain in good condition and join a hobbyist's assortment.The the main thing is that your chosen pawn shop is usually reputable as virtually any business.Such as virtual flea advertise, it boasts from the huge different items which could hardly end up found any place.And together with the right on the net merchant credit account services that will back an individual up, handling a powerful online pawn retail outlet becomes actually more pleasant than fatiguing.The great diversity of items you may sell can utilize the car segments, appliances, computer gadgets (computers, playing games systems, cellphones), CDs/DVDs, figures, rare rings (gold bangles, brooches, tidbit gold, devices, etc
Зарегистрированный
 
ertolamijane, 04:07 03 февраля 2012 г.
 
fake Audemars Piguet watches 
Audemars Piguet Replica watches 
Replica Audemars Piguet Watches for Sale 
discount Audemars Piguet watches 
Audemars Piguet watches 
.The Promaster Aqualand's stainless steel construction produces this an elegant choice.The Eco-Drive may be the company's titanium recommending.Both running watches feature memory space for snorkeling depths, present water heat range, present amount, ascent speed alarms, and therefore are water reluctant to 660 toes. 
 
Invicta's Seasoned pro Diver Intelligent is another stainless steel option.Waterproof to 660 legs, it is among the better options for more exciting divers.Invicta's Professional Diver usually requires no electric battery, has a anti-scratch keep an eye on face, and it has luminescent sit back and watch hands.The screened-in markers ensure you won't get damaged or lost. 
 
Luminox's Fast Seal Jump Watch is typically the most popular scuba fishing watch company chosen by the us
Зарегистрированный
 
ertolamijane, 15:34 15 декабря 2011 г.

Только зарегистрированные пользователи могут оставлять коментарии.
Пожалуйста зарегистрируйтесь или войдите в ваш аккаунт.

Последнее обновление ( 07.02.2008 )
 
След. >