Интеграция CMS с форумом phpBB
Добавить новость
Ссылка
Картинка
Форматирование
Разрыв
Списки
Название
Описание
К Добавить J
Текст — TJRL < Вставить F^ty
URL \~ Вставить ,
! Жирный 1 /Жирный Курсив , /Курсив ‘ Подчеркнутый ,’ /Подчеркнутый
JP BR}
- Нумерованный : /Нумерованный ‘ Маркированный , /Маркированный ‘* Элемент ,
;
-
Рис. 20.1. Форма HTML-редактора
Примечание
Полный код HTML-редактора вы найдете на компакт-диске в каталоге
Glava_20.
20.3. Разработка модулей для панели
администрирования phpBB
Сейчас мы разработаем «болванку» модуля для панели администрирования
phpBB. Наш модуль ничего не будет делать, но он будет модулем. Код
«болванки» с комментариями представлен в листинге 20.3.
// Обязательно
define(·??_?????·, 1);
if( !empty($setmodules) )
{
$filename = basename( FILE );
Глава 20. Разработка и интеграция панели администрирования CMS 245
// Определяем раздел сайта и названия модуля
// Раздел — Сайт, название — Новости
$module['Сайт']['Новости'] = append_sid($filename);
return;
}
$phpbb_root_path = «./../»;
require($phpbb_rootjpath . ‘extension.inc’);
require(‘./pagestart.’ . $phpEx);
// Задаем шаблон для нашего модуля
$teraplate->set_filenames (array (
«body» => «admin/admin__teniplate.tpl»)
);
// Подключаем конфиг phpBB — на всякий случай
include__once «. . /conf ig. php» ;
// Код модуля
// Передаем HTML-код в шаблон
$template->assign__yars (array (
«HTML» => $html));
$template->pparse(«body»);
// Обязательно
include (‘. /page_footer__admin. ·. $phpEx) ;
?>
Наш модуль нужно сохранить под именем ас1тт_<�имя>.рЬр и поместить в
каталог admin нашего форума (обычно это phpBB2/admin). В каталог
phpBB2/templates//admin нужно поместить наш шаблон
adminjemplate.tpl (листинг 20.4).
246 Часть V. Интеграция CMS с форумом phpBB
{HTML}
Наш шаблон предельно прост. Внутри модуля мы будем формировать
HTML-код, а потом выводить его как переменную шаблона {html}.
В панели администрирования модули выглядят так, как показано на рис. 20.2.
Рис. 20.2. Модули
20.4. Модуль редактирования таблицы static
Прежде чем приступить к написанию кода модуля, подумаем, как он должен
работать. Переменная $р, к которой мы уже привыкли, будет задавать тип
отображаемой страницы:
? если переменная $р не задана— отображаем форму добавления новой
страницы и список существующих страниц, напротив ID каждой страницы
будут ссылки, позволяющие отредактировать страницу или удалить ее;
Глава 20. Разработка и интеграция панели администрирования CMS 247
О edit — редактирование выбранной страницы;
О save — если переменная ? принимает значение edit, то будет
отображена форма редактирования, а при значении save редактируемая страница
будет сохранена в базе данных;
О delete — выбранная страница будет удалена.
Приступим к написанию модуля. Первым делом нужно вывести
обязательный код модуля: