Всем доброго времени суток. Сегодня вспомнил как я когда то искал пример для создания свой CMS. Тогда ничего в нете нормального я не нашёл. Решил дать поиск и просмотреть изменилась ли ситуация. Как оказалось всё так же. Ничего такого что могло бы помочь в написании своей системы. Много воды и ничего конкретного нет. Вот и пришла мне в голову идея написать пошаговую документацию по написанию своей cms.
Итак для начала определимся что мы хотим нашей системы.
- Публикация страниц
- Отображение древовидного меню
- Построенная на основе модулей
- Смена шалонов сайта
- Позиционирование модулей
Итак настало время создать структуру папок для проекта. Дадим название нашей системе — 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;
Итак мы создали основную структуру и таблице в нашей базе данных. В следующей статье я расскажу о том как будет происходить запуск и инициализация модулей. А так же расскажу немного про работу с шаблонами.
Молодец, пока все легко и доступно, хорошо но мало , слежу за развитием событий!
Добавляйте метериал по теме создания cms
Чтобы добавить надо написать ) Не всё сразу, работа идёт…
Да уж… И как найти следующую статью по этой теме???
В разделе php
Я не совсем понял, в какой файл нужно писать текст создания БД? Заранее извиняюсь, если вопрос элементарный