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

Модуль admin_static в действии

252

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

Домашним заданием вам будет проверка на ошибки. Ведь не всегда запрос

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

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

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

соответствующее сообщение. Но сейчас не будем усложнять код модуля. Вы еще успеете

это сделать.

Теперь займемся редактированием страниц. Сначала нужно вывести форму

редактирования, содержащую текст страницы. При нажатии кнопки

Сохранить происходит обновление (SQL-оператор update) соответствующей

записи таблицы.

Следующий код нужно добавить, как обычно, после последней скобки } для

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

elseif ($p===»edit») {

// Получаем выбранную страницу

$q = «SELECT * FROM static WHERE id =\»$id\»";

$r = mysql_query($q);

$row = mysql_fetch_array($r);

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

$html = $html . M\n\n

a4ction=admin_static.php?p=save&id=$id&$SID method=post>»;

$html = $html . join(f’,file($phpbb_root_path.»/admin/html-

editor.html»));

$html = $html . $row[content];

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

end.html»));

}

Данный код похож на код вызова HTML-редактора для создания страницы.

Но обратите внимание на оператор, добавляющий текст редактируемой стра-

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

ницы в форму HTML-редактора, и на то, что переменной ? присваивается

другое значение — save.

Напишем код сохранения отредактированной таблицы:

elseif ($p===»saveM) {

$q = «UPDATE ‘static1 SET •content’ = ‘$desc’ WHERE ‘id’ =’$id’

LIMIT 1 «;

mysql_query($q);

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

}

Осталось только научить наш модуль удалять записи из таблицы static. Это

можно сделать с помощью следующего кода:

elseif ($p===»delete») {

$q = «delete from static where id=\»$id\» LIMIT 1″;

mysql_query($q);

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

}

Полный листинг файла admin_static.php приводить не стану— он получился

не маленький. Вы его найдете в каталоге Glava_20 на компакт-диске.

20.5. Домашнее задание

На компакт-диске в каталоге Glava_20 вы найдете (кроме всего прочего)

файлы admin_cats.php и admin_pages.php. Как вы уже догадались, первый

файл — это модуль для редактирования разделов сайта, а второй — для

редактирования страниц сайта. Оба модуля написаны мпо образу и подобию»

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

будем.

254

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

А теперь о домашнем задании. Модуль admin_pages.php написан не полностью.

Он выводит форму создания страницы, список существующих страниц

(рис. 20.4), позволяет создавать страницы, но не позволяет их редактировать

и удалять. Домашнее задание заключается в реализации возможности

редактирования и удаления страниц! Конечно, если что-то не получится,

обращайтесь за помощью на форум www.dkws.org.ua— помогу. Но это совсем не

означает, что я предоставляю сразу готовый фрагмент кода!

Рис. 20.4. Модуль admin_pages.php

ГЛАВА 21

Изменение TPL-шаблонов phpBB

21.1. Основные TPL-шаблоны phpBB

TPL-шаблоны находятся в каталоге (относительно главного каталога phpBB)

templates/название стиля/.

Рис. 21.1. Сайт

256

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

Стиль по умолчанию называется subSilver, поэтому шаблоны по умолчанию

находятся в каталоге templates/subSilver.

Содержимое TPL-шаблонов зависит от используемого стиля, но имена TPL-

шаблонов — одинаковые для разных стилей. Обычно шаблоны

overall_header.tpl и overallfooter.tpl редактируются для изменения дизайна

форума. Ведь очень часто необходимо, чтобы дизайн сайта и дизайн форума

были похожими, а для этого нужно отредактировать TPL-шаблоны форума.

На рис. 21.1 показан сайт, а на рис. 21.2— форум. Как видите, интеграция

дизайна сайта и форума прошла успешно.

Рис. 21.2.

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

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

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