Joomla портал
seo seo Subscribe
seo
0
seo

Правильное отображение профиля пользователя

Что сделать с третьим оставшимся полем? Тут уж думайте сами — не хочу

навязывать свою мысль.

Глава 20

Разработка и интеграция панели

администрирования CMS

20.1. Возможности панели управления

В данной главе мы поговорим о создании панели администрирования для

нашей CMS и о ее интеграции с форумом phpBB. Но сначала нам нужно

определить возможности нашей панели администрирования.

Напомню, что у нас есть три основных таблицы: таблица статических

страниц, таблица категорий (разделов) и таблица страниц. Наша CMS должна

уметь редактировать все эти таблицы, т. е. создавать новые записи, удалять и.

редактировать существующие. С созданием и удалением все просто. А вот с

редактированием — не совсем. Ведь наши записи могут содержать HTML-

код страницы, а не просто текст. Следовательно, мы должны обеспечить

возможности удобного редактирования. То есть мы должны создать HTML-

редактор, добавляющий HTML-теги.

Итак, определим возможности CMS:

? создание, редактирование и удаление записей таблицы static;

? создание, редактирование и удаление разделов (категорий) сайта;

? создание, редактирование и удаление страниц сайта;

? HTML-редактор для редактирования HTML-кода страниц.

20.2. Создание HTML-редактора

Мы будем редактировать HTML-код, поэтому форма для его редактирования

должна обеспечить легкое добавление тегов в текст редактируемой страни-

Глава 20, Разработка и интеграция панели администрирования CMS 241

цы. Согласитесь, гораздо проще ввести описание ссылки и URL, а затем

нажать кнопку Вставить, чем писать вручную следующий тег:

oni*caHMe

HTML-редактор — не обязательная функция CMS, но весьма желательная,

поскольку она существенно облегчает редактирование HTML-кода. HTML-

редакторы встроены во многие CMS и форумы — PHP-Nuke, phpBB, Slaed

и др. Чем наша CMS хуже? Поэтому и у нас будет полноценный HTML-

редактор.

Принцип работы HTML-редактора очень прост. Есть поле для ввода текста,

есть кнопки, нажав которые вы запускаете Java-скрипт, добавляющий

определенный текст в наше поле. Добавляемый текст может быть произвольным.

Мы будем добавлять HTML-теги.

Код Jav^-скрипта, используемого для вставки текста, приведен в

листинге 20.1.

function Insert(Text) {

element = document.getElementById("desc");

element.focus();

if (document.selection) {

SelectedText = element.document.selection.createRange();

SelectedText.text = Text;

}

}

Весь скрипт состоит всего из одной функции insert, вставляющий

переданный ей в качестве параметра текст в текстовое поле с именем desc. Скрипт

очень прост, зато работает в любом браузере — IE, Opera, Firefox и др.

Вот пример кнопки, при нажатии которой в поле с именем desc будет

вставлен тег , делающий следующий за ним текст жирным:

«) f>

Мы создадим кнопки для вставки ссылок, картинок, тегов форматирования,

списков, абзацев. Остальные HTML-теги (если вам они нужны) можете

добавить сами — по образу и подобию.

242

Часть V. Интеграция CMS с форумом phpBB

Код HTML-редактора представлен в листинге 20.2, а внешний вид формы —

на рис. 20.1.

function Insert(Text) {

element = document.getElementById("desc");

element.focus();

if (document.selection) {

SelectedText = element.document.selection.createRange();

SelectedText.text = Text;

}

}

Добавить новость

CcbuiKa TeKCT URL

type=text name=u size=20>

href^’+u.value+’^+t.value+’^/a^’) ‘>

KapTHHKa URL

value=BcTaBMTb onclick=’Insert(««)f>

и)’ >

«) ‘>

«)’ >

Pa3pbm


«)f>

CnMCKM

  • «)f>

  • «)’>

Ha3BaHMe

size=80>

OnMcaHMe

Как видно из рис. 20.1, у нас для большинства тегов есть кнопки,

открывающие тег (например, Жирный), и кнопки, закрывающие тег (/Жирный). Если

тег не закрыть, то его действие будет распространяться на весь последующий

текст до закрытия тега.

244

Часть V.

seo
5th Фев 2011
Теги:
seo

Написать ответ

seo
 
Все права защищены © 2023 Joomla портал
 
 
seo