админка для редактирования контента страницы

sniper_9

Новичок
админка для редактирования контента страницы

Всем доброго времени суток. Передо мной поставили задачу написать админку, одной функций которой будет редактирование контента страниц. Информация будет спарвочного характера. Не понятно, как реализвать следующий момент: форматирование текста (абзацы, выделение жирным шрифтом текста, может даже и подключение элементарных стилей). Люди, которые будут править контент - дилетанты в вёрстке. Поэтому при нажатии на кнопку для вставки пробела или другого форматирования нужно, чтобы на экране появлялся условный символ, который впоследствии обрабатывался.
Где можно прочитать более подробно об этом или скачать демо модуль для примера? Буду признателен за любую помощь. ЗАранее, спасибо.
 

Сергей Тарасов

Профессор
Если нужны стили и прочая лабуда - FCK
Если только базовое оформление, думаю хватит BBCode.

Сильная сторона FCK : всеобъемлющая навороченность и поддержка почти всего, что возможно в Wysiwyg + плагины.
Слабая: очень много кода, глюки, иногда при помощи него из-за "неограниченных" возможностей девочки в офисе превращают сайт в "Ужос"... за 5 мин.

Сильная сторона BBCode : простота, невозможность "испоганить дизайн страницы".
Слабые: ограниченные возможности по форматированию.
 

Alexandre

PHPПенсионер
Друзья мои,

очевидно у человека нет познаний, что такое ВВ-коды или ФЦК-едитор (как и тини-МЦЕ). По этому, если хотите сделать доброе дело - объясните человеку, что есть два подхода:
- использовать ДжабаСкриптовые редакторы, типа http://ru.wikipedia.org/wiki/TinyMCE ( редакторов такого типа довольно много)
- или использовать псевдо-коды, которые обычно заменяют теги <i><b> на коды: [ i ][ b ] Почему их назвали BBCode, потому, что одним из первых их придумал бесплатный форум PHPBB.

Использование первого предпочтительнее по причине того, что операторы (пользователи) будут себя чуствовать в среде, сродную с вордом. Недостаток - долго грузится страница.
 

dark-demon

d(^-^)b
Поэтому при нажатии на кнопку для вставки пробела или другого форматирования нужно, чтобы на экране появлялся условный символ, который впоследствии обрабатывался.
а зачем условный символ вместо пробела??
 

sniper_9

Новичок
Спасибо вам за вводную консультацию. Мне она очень помогла. Всегда что то приходится делать в первый раз.

P.S.: по поводу пробелов. Думал, что они игнорятся, но это из за не осведомлённости=)

-~{}~ 18.07.07 13:19:

Помогите пожлст решить проблемы с установкой. Я создал отдельно виртуальный хост для FCKEditor'a, чтоб отдельно в действии его посмотреть. Переименовал в индекс файл, в котором подключаются файлы пхп в зависимости от версии.
Запустил и врезультате пустой экран. Чтоне правильно сделал.?
 

Sokil.Dmytro

Новичок
его вообщето и создать бы не мешало :)

PHP:
if (version_compare(phpversion(), '5', '<' ) )
	include_once( 'lib/fckeditor/fck_php4.class.php' ) ;
else
	include_once( 'lib/fckeditor/fck_php5.class.php' ) ;

//init fckedit object
$oFCKeditor = new FCKeditor('FCKeditor1') ;
$oFCKeditor->BasePath	= '/js/fckeditor/' ;
$oFCKeditor->Value		= 'some text to edit';
$oFCKeditor->Height		= 500 ;

$oFCKeditor->Config['AutoDetectLanguage']	= false ;
$oFCKeditor->Config['DefaultLanguage']= 'en';

$oFCKeditor->Create();
смотри демки в архиве
 

sniper_9

Новичок
если открываешь в IE, то пишет страница не найдена, а если в опере, то пишет значение value в рамке-(

-~{}~ 18.07.07 14:24:

Заработала хреновина!!!!!!!!!!!!!!!!
нужно было так:
$oFCKeditor->BasePath = '/' ;

Я плакаль.

-~{}~ 18.07.07 14:32:

В опере эта штука нормально у всех работает? А то IE нормально отображает, а в опере ничего не изменилось.
 

Sokil.Dmytro

Новичок
опера не поддерживается :( там можно только сорсы редактить если еще в форму сабмит подвесишь
 

sniper_9

Новичок
а можно как нить привязать её к БД. чтоб данные из строки какой нить таблицы считывались прямо в окно?
 

Sokil.Dmytro

Новичок
у тебя $oFCKeditor->Value есть, пиши туда что хочешь!

$oFCKeditor->Value=getDataFromDb();

в чем неприятности?
 

sniper_9

Новичок
Сорри. не допёр.

-~{}~ 18.07.07 21:39:

Последний вопрос остался. Я прикрутил редактор к своему проекту, а точнее к БД. В окне пояаляется запись из БД. Я её редактирую, а потом отсылаю в обработчик через аякс. Всё работает замечательно., только вот в обработчик уходит текст не модерированный мной, а исходный.

Пытаюсь взять в яваскрипте текст таким образом.
ajax.setVar("text", document.getElementById('FCKeditor1___Frame').value);

Выводил текст перед обработкой алертом: данные поступают не модерированные. В чём причина? Заранее, спасибо.

-~{}~ 18.07.07 21:40:

делал и так:

ajax.setVar("text", document.getElementById('FCKeditor1').value);
 

dimagolov

Новичок
sniper_9
согласно мануалу разберитесь где живет результат обработки...
 

sniper_9

Новичок
Нашёл ссылку
http://wiki.fckeditor.net/Developer's_Guide/Javascript_APIъ

насколько я понял надо сделать так:
var oEditor = window.parent.InnerDialogLoaded().FCK ;

var text = oEditor.GetXHTML( formatted );
alert(text);
Так правильно? На экране появляется сообщение, что объект такой метод не поддерживает-(

-~{}~ 19.07.07 11:03:

Ура! НАшёл!
надо так:
<script type="text/javascript" src="/.../fckeditor.js"></script>

<script>
var oEditor = FCKeditorAPI.GetInstance( 'FCKeditor1');
var content = oEditor.GetXHTML( true ) ;
alert(content);
</script>

ТЫц тыц тыц...
 

Zetruger

ivan.chistyakov.name
в топку все эти редакторы
FCKeditor is compatible with most Internet browsers which include: IE 5.5+ (Windows), Firefox 1.0+, Mozilla 1.3+ and Netscape 7.1+. It runs under Windows, Mac and Linux operating systems.

в опере не работает
 
Сверху