Создание своей PHP CMS на основе модулей и шаблонов Часть 1 — Введение

21 Фев
2012

Всем доброго времени суток. Сегодня вспомнил как я когда то искал пример для создания свой CMS. Тогда ничего в нете нормального я не нашёл. Решил дать поиск и просмотреть изменилась ли ситуация. Как оказалось всё так же. Ничего такого что могло бы помочь в написании своей системы. Много воды и ничего конкретного нет. Вот и пришла мне в голову идея написать пошаговую документацию по написанию своей cms.

Итак для начала определимся что мы хотим нашей системы.

  1. Публикация страниц
  2. Отображение древовидного меню
  3. Построенная на основе модулей
  4. Смена шалонов сайта
  5. Позиционирование модулей

Итак настало время создать структуру папок для проекта. Дадим название нашей системе — Alexa

/panel/ — Админская часть сайта из которой будет происходить управление информацией, модулями и шаблонами сайта

/panel/index.php  — индексный файлик панели

/panel/config.php — файл конфигурации для нашей системы

/panel/stack.php — файл обьединения библиотек

/panel/core/ — ядро системы содержащее основные библиотеки для системы

/panel/themes/ — темки для админ панели

/panel/modules/ папочка содержащая части модулей относящиеся к админской стороне

/panel/langs/ — доступные языки для админ панели и модулей админской части

/index.php — индексный файл, к которому будут идти все запросы

/modules/ — папка с модулями для клиентской части сайта

/themes/ — папка с темками для нашей системы

 

Итак основная структура создана. Для начала напишем файлик конфигурации /panel/config.php .


< ?php
$_SETTINGS['dbname'] = 'alexa';// Имя нашей базы данных
$_SETTINGS['dbuser'] = 'root'; // Пользователь нашей базы данных
$_SETTINGS['dbpass'] = ''; // соответственно пароль
$_SETTINGS['dbhost'] = 'localhost'; // и хост
$_SETTINGS['debugging'] = true;
$_SETTINGS['error_level'] = E_ALL;
$_SETTINGS['db_charset'] = 'UTF8';
$_SETTINGS['doc_dir'] = $_SERVER['DOCUMENT_ROOT'];
$_SETTINGS['admin_theme'] = 'panel_theme'; // Указывается папка в которой распологается темка для админки
?>

Создадим базу

Это наша основная таблица в которой храниться информация об установленных модулях.


CREATE TABLE IF NOT EXISTS `modules` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` text NOT NULL,
`title` tinytext,
`description` text NOT NULL,
`author` text,
`copyright` text,
`version` tinytext NOT NULL,
`inst_date` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
`sequence` int(11) DEFAULT NULL,
`settings` text NOT NULL,
`active` int(1) unsigned NOT NULL DEFAULT '1',
`position` varchar(11) NOT NULL,
`system` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

А также таблица содержащая темки для сайта


CREATE TABLE IF NOT EXISTS `themes` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`description` text NOT NULL,
`author` text NOT NULL,
`version` text NOT NULL,
`pages` text NOT NULL,
`default` int(1) unsigned zerofill NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

Итак мы создали основную структуру и таблице в нашей базе данных. В следующей статье я расскажу о том как будет происходить запуск и инициализация модулей. А так же расскажу немного про работу с шаблонами.

 

Поделиться в соц. сетях

Другое из текущей категории:

3 Ответов для Создание своей PHP CMS на основе модулей и шаблонов Часть 1 — Введение

Avatar

Эльф Ахвахец

Февраль 21st, 2012 at 14:36

Молодец, пока все легко и доступно, хорошо но мало , слежу за развитием событий!

Avatar

Джордж

Март 17th, 2012 at 23:44

Добавляйте метериал по теме создания cms

Avatar

Евгений Карпухин

Март 18th, 2012 at 09:02

Чтобы добавить надо написать ) Не всё сразу, работа идёт…

Форма комментариев

top