Создание компонента на примере

Давайте рассмотрим устройство компонентов на примере простого компонента «Гостевая книга».
Компонент должен будет уметь:

  • Показывать список всех добавленных в гостевую книгу сообщений, по адресу: site.ru/guestbook
  • Показывать одно конкретное сообщение отдельно, по адресу: site.ru/guestbook/messageXX.html (где XX - id сообщения)
  • Принимать новые сообщения от зарегистрированных пользователей, по адресу: site.ru/guestbook/add.html
  • Администратор сайта сможет удалять сообщения, по адресу site.ru/guestbook/deleteXX.html

Каждое сообщение в нашей гостевой книге будет содержать следующую информацию:

  • Заголовок (title)
  • Текст сообщения (message)
  • Автор (user_id)
  • Дата сообщения (pubdate)

Первый шаг который вам необходимо сделать это создать папку /components/guestbook в папке вашего сайта.

Подготовка таблиц в базе данных

Все сообщения нашей гостевой книги будут храниться в таблице cms_guestbook.
При установке системы пользователи могут выбирать любые префиксы таблиц, отличные от «cms_», но внутри кода системы всегда используется только этот префикс. Замена префикса «cms_» на настоящий происходит внутри ядра системы при каждом запросе в БД.

Создадим в базе данных таблицу cms_guestbook:

CREATE TABLE `cms_guestbook` (
 `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
 `title` VARCHAR( 200 ) NOT NULL ,
 `message` TEXT NOT NULL ,
 `user_id` INT NOT NULL ,
 `pubdate` DATETIME NOT NULL ,
INDEX ( `user_id` )
) ENGINE = MYISAM ;

Поле user_id сделаем индексом, чтобы в дальнейшем иметь возможность получать быструю выборку записей принадлежащих одному конкретному пользователю.

При добавлении таблиц через phpMyAdmin или любую другую программу обязательно сохраняйте тексты создающих их запросов. Они пригодятся позже, при подготовке инсталлятора компонента.

Что дальше?

 
разработка/компоненты/создание_компонента_на_примере.txt · Последние изменения: 2010/08/13 09:59 От admin