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

Мы должны вывести редактор HTML-кода. Но нам

его нужно разбить на четыре части. Первая часть — это код JScript. Вторая

часть — это идентификатор формы. Ведь нам нужно указать, какой сценарий

и для чего (для добавления новой страницы или редактирования уже

имеющейся) использует редактор. Третья часть — это большая часть редактора, с

кнопками и областью для ввода текста. Четвертая часть — окончание формы

редактора. Четвертая часть нужна в случае, если мы будем вызывать

редактор для редактирования страницы: тогда между третьей и четвертой частью

нужно будет вывести HTML-код страницы.

Вызов редактора осуществляют следующие операторы:

$html = join(‘·,file($phpbb_root_path.»/admin/insert.js»));

$html = $html . «

method=post>»;

$html = $html . join(‘·,file($phpbb_root_path.»/admin/html —

editor.html»));

$html = $html . join(··,file($phpbb_root_path.»/admin/html-editor-

end, html»)) ;

Можно было не разбивать редактор на четыре части, а создать для него TPL-

шаблон. Но тогда бы нам пришлось разрабатывать собственные шаблоны для

каждой страницы модуля (для страницы редактирования, для страницы до-

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

бавления и вывода имеющихся страниц, для страницы сохранения и удаления

данных).

Приведенный ранее код позволяет обойтись без огромного количества

шаблонов (четыре шаблона на один модуль, а модуль будет не один). К тому же,

данный код демонстрирует, как можно не отказаться от шаблонов, если их

использование неудобно или невозможно по тем или иным причинам.

Основной принцип прост: разбиваем статический (не изменяющийся) HTML-

код на части и выводим частями, вставляя между ними динамически

генерируемый HTML-код.

Весь вывод направляется не в браузер, а в переменную $html, которая потом

будет передана шаблонизатору.

Обратите внимание на формирование адреса сценария: в качестве параметра

вам обязательно нужно передать идентификатор сессии (переменная $sid) —

иначе модуль не будет работать. Данный идентификатор нужно также

использовать при формировании ссылок на другие страницы модуля или на

другие модули.

Примечание

Листинги файлов insert.js, html-editor.html, html-editor-end.html приводить не

буду из экономии места в книге. Данные файлы вы найдете в каталоге

Glava_20 на компакт-диске.

Сформируем HTML-таблицу для вывода страниц из таблицы static:

$html» = $html . »

Список страницп1>

«;

}

$html = $html . «

ID PeflaKTMpoBaTb

$i=0; // Служебная переменная

Выводим записи из таблицы static:

while ($row=mysql_fetch_array($r)) {

// Формируем четные и нечетные числа — чтобы было чередование

// стилей rowl и row2 — так графическая тема нашего модуля будет

250

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

II максимально похожа на используемую тему phpBB

if ($i % 2 == 0) $class=»rowl»;

else $class=»row2″;

$i++;

$html = $html . «

$row[id]

href=admin_static.php?p=edit&id=$row[id]&$SID>X

href=admin_static.php?p=delete&id=$row[id] &$SID>X

«;

Наша таблица проста — выводится только ID страницы и ссылки

редактирования и удаления страницы. Выводить содержимое каждой страницы или его

часть не нужно — страницу можно однозначно идентифицировать по ее ID

(рис. 20.3).

Нам осталось только закрыть фигурную скобку, передать переменную $htmi

шаблонизатору и завершить сценарий:

}

// Устанавливаем переменную {HTML} шаблона

$template->assign_vars(array(

«HTML» => $html));

$template->pparse(«body»);

include(f./page_footer_admin.f.$phpEx);

?>

Наш модуль пока только выводит форму для создания новой страницы и

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

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

тировать уже имеющиеся. Займемся созданием страниц. Код создания

страницы очень прост. После последней закрывающей фигурной скобки добавьте

следующий код:

if ($p==»add») {

// Запрос

$q = «insert into static values(\M$page_id\M, \»$desc\»)»;

mysql_query($q);

// Выводим сообщение

$html = «Запись добавлена»;

}

Рис. 20.3.

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

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

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