Создаем CMS. Структура каталогов. Структура таблиц БД. Шаблон сайта

Я реализую у себя следующую структуру каталогов и файлов. В дальнейшем она обязательно будет дополняться, и возможно изменится, ведь я создаю свою первую CMS.

  • admin (администраторский каталог)
    • classes (библиотеки классов, необходимые данному разделу)
    • templates (папка шаблонов)
      • default (папка шаблона по умолчанию)
    • index.php (главная страница администраторского раздела)
  • classes (библиотеки классов)
  • install (директория установки системы)
    • css (таблицы стилей для шаблона установки)
      • setap.css (сам файл таблиц стилей для шаблона установки)
    • index.php (главная страница установки)
  • modules (подключаемые модули)
  • templates (шаблоны сайта)
    • default (шаблон по умолчанию)
      • blocks (блоки шаблона)
        • content.php (центральная часть)
        • footer.php (нижняя часть)
        • header.php (верхняя часть)
        • menuLeft.php (левое меню навигации)
        • newsLeft.php (блок новостей слева)
      • css (таблицы стилей шаблона)
        • style.css (главная каскадная таблица стилей)
      • img (картинки)
        • english.png (иконка "английский")
        • home.png (иконка "домашняя")
        • mail.png (иконка "почта")
        • rassia.png (иконка "русский")
        • runa.png (логотип)
      • js (папка со скриптами JavaScript
      • index.php (главная страница шаблона)
  • .htaccess (хтакцес)
  • 404.php (ошибка 404)
  • config.php (файл конфигурации БД)
  • index.php (главная страница сайта)

Изначальная структура таблиц базы данных MySQL:

  • pdb_users (таблица пользователей)
    • userID (идентификатор пользователя)
    • username (логин)
    • password (пароль)
    • email (адрес электронной почты)
    • activ (уровень доступа)
  • pdb_config (конфигурация системы)
  • pdb_pages (страницы)
  • pdb_menu (меню навигации)
Должен предупредить, что шаблон не во всем корректно отображается в IE, и писался для google chrome.
Файл шаблона index.php:

<?php include ('templates/default/blocks/header.php'); /*подключаем верхнюю часть сайта*/?>
<div class="razriv"></div>
<!----- центральная часть сайта ----->
<div class="center">
<!----- левый блок ----->
<div class="left">
<?php include ('templates/default/blocks/menuLeft.php'); /*подключаем левое меню навигации*/?>
<?php include ('templates/default/blocks/newsLeft.php'); /*подключаем новостной блок*/?>
</div>
<!----- конец левый блок ----->
<?php include ('templates/default/blocks/content.php'); /*подключаем основную часть страницы*/?>
</div>
<!----- конец центральная часть сайта ----->
</div>
<!----- конец дива контейнера (class="conteiner" начало искать в blocks/header.php) ----->
<div class="razriv"></div>
<?php include ('templates/default/blocks/footer.php'); /*подключаем нижнюю часть сайта*/?>

header.php:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<!----- здесь мы подключаем стили ----->
<link rel="stylesheet" type="text/css" href="templates/default/css/style.css" />

<!----- здесь мы подключаем скрипты ----->

<!----- информация о создателе и лицензии ----->
<meta name="author" content="Kalinin Sergey" />
<meta name="copyright" content="Вы можете изменять данный шаблон, как Вам угодно, для собственного использования. Вы не можете использовать его в комерческих целях" />

<!----- настройки документа ----->
<meta http-equiv="content-type" content="text/html; charset=utf-8" />

<!----- информация для поисковиков ----->
<meta name="keywords" content="" />
<meta name="description" content="" />
<title>Шаблон главной страницы</title>
</head>
<body>
<!----- начало тела страницы ----->
<!----- контенинер ----->
<div class="conteiner">
<!----- header.php ----->
<!----- шапка сайта ----->
<div class="site-top">
<!----- контейнер для верхней части header (название и иконки меню) ----->
<div class="top-top">
<!----- название сайта ----->
<div class="site-name">
<div style="float:left; margin-top:4px; margin-right:13px;">
<a href=#><img src="templates/default/img/runa.png" border="0" width="20" height="20" /></a>
</div>
<div style="">
<a href=#>Pokolenie (Content Manager System)</a>
</div>
</div>
<!----- конец названия сайта ----->
<!----- иконки меню ----->
<div class="top-right">
<a href=#><img src="templates/default/img/rassia.png" border="0" alt="Сменить язык" title="Сменить язык"/></a>
<a href=#><img src="templates/default/img/home.png" border="0" alt="Вернуться на главную" title="Вернуться на главную"/></a>
<a href=#><img src="templates/default/img/mail.png" border="0" alt="Отправить письмо" title="Отправить письмо"/></a>
</div>
<!----- конец иконки меню ----->
</div>
<!----- конец контейнер для верхней части header ----->
<!----- верхняя навигация ----->
<div class="top-navigation">
<ul class="site-navigation">
<li><a href=#>Home page</a></li>
<li><a href=#>Новости</a></li>
<li><a href=#>Блог</a></li>
<li><a href=#>Фотогалерея</a></li>
<li><a href=#>Контакты</a></li>
</ul>
</div>
<!----- конец верхняя навигация ----->
</div>
<!----- конец header.php ----->

menuLeft.php:

<!----- левая навигация ----->
<div class="left-navigation">
<p>"Home page"</p>
<ul class="left-ul">
<li><a href=#>Главная</a></li>
<li><a href=#>Новости</a></li>
<li><a href=#>Блог</a></li>
</ul>
</div>
<!----- конец левой навигации ----->

newsLeft.php:

<!----- две новости слева ----->
<div class="news">
<p>News</p>
<div class="news-1">
<a href=#>Нацисты наступают!</a>
<div><p>Здесь располагается описание первой новости. This is news company</p></div>
</div>
<div class="news-1">
<a href=#>html 5 + css 3</a>
<div><p>Здесь располагается описание второй новости. This is news world</p></div>
</div>
</div>
<!----- конец две новости слева ----->

content.php:

<!----- основная часть ----->
<div class="content">
<!----- заголовок основной части ----->
<h1>в топку internet explorer</h1>
<!----- конец заголовок основной части ----->
<p>Текст страницы</p>
</div>
<!----- конец основная часть ----->

footer.php:

<!----- начало блока эпилога footer ----->
<div class="footer">
<!----- нижняя навигация ----->
<div class="footer-navigation">
<div class="footer-link"><a href="#">forum</a></div>
<div class="footer-link"><a href="#">документация</a></div>
<div class="footer-link"><a href="#">наши другие проекты</a></div>
<div class="footer-link"><a href="#">о нас</a></div>

</div>
<!----- конец нижняя навигация ----->
<!----- copyright ----->
<div class="copyright">
<p><a href=#>Sergey Kalinin &copy;</a></p>
<p>2012 год</p>
</div>
<!----- end copyright ----->
</div>
<!----- конец контентной части ----->
</body>
</html>


Файл стилей style.css:

/*----- элемент body -----*/
body{
margin: 0 auto;
padding: 0px;
background-color:#ffffff;
text-align:center;
}

/*----- главный контейнер сайта (все содержимое сайта выводится здесь) -----*/
.conteiner {
margin: 0 auto;
padding: 0px;
position: relative;
margin-top:1%;
width:840px;
height:480px;
text-align:left;
background-color:#F1F1F1;
}
/*----- header, верхняя часть сайта (в этом div выводится логотип, имя сайта и верхняя навигация)-----*/
.site-top {
margin: 0px;
padding: 0px;
width:840px;
height:61px;
background-color:#3383b8;
}
/*----- контейнер для хранения имени сайта и правой верхней менюшки -----*/
.top-top{
margin:0px;
padding:0px;
}
/*----- имя сайта -----*/
.site-name{
padding-top:3px;
padding-left:18px;
width:600px;
text-align:left;
float:left;
}
/*----- класс для ссылки div "имя сайта" -----*/
.site-name a{
font-size:25px;
color:#ffffff;
font-family: Arial;
text-decoration:none;
}
/*----- правая верхняя меню из иконок -----*/
.top-right{
margin-right:35px;
padding-top:5px;
text-align:right;
}
.top-right a{
margin-left:17px;
}
/*----- контейнер для верхней навигации -----*/
.top-navigation{
margin:0px;
margin-top:5px;
padding:0px;
text-align:right;
}
/*----- верхняя навигация -----*/
ul.site-navigation {
margin: 0px;
padding:0px;
height: 20px;
background-color: #3383b8;
float:left;
}

ul.site-navigation li {
line-height: 20px;
height: 20px;
float:left;
width:140px;
list-style: none;
}

ul.site-navigation li a {
width:auto;
display: block;
text-align:center;
color: #fff;
text-decoration:none;
margin: 0;
border-right: 1px solid #f4f4f4;
font-family: Verdana;
font-size:12px;
/* Анимация для браузеров основаных на Webkit */
-webkit-transition: background-color 0.15s linear;
}
/* Добавим анимацию при наведении */
ul.site-navigation li a:hover {
background-color: #3597D8;
color:#f1f1f1;
}
/*end top navigation*/

.razriv{
margin:0px;
padding:0px;
width:840px;
height:3px;
background-color:#ffffff;
}
/*----- левый блок -----*/
.left{
margin:0px;
padding:0px;
margin-left:3px;
margin-top:3px;
width:180px;
height:410px;
background-color:#ffffff;
float:left;
}
/*----- блок левая навигация -----*/
.left-navigation{
margin:0px;
padding:0px;
width:180px;
height:90px;
margin-bottom:20px;
text-align:center;
}

.left-navigation p{
margin:0px;
padding:0px;
padding-top:5px;
padding-bottom:5px;
color:#f4f4f4;
font-family: Arial;
font-weight:bold;
}
/*----- левая навигация -----*/
ul.left-ul {
margin: 0px;
margin-left:3px;
padding:0px;
width:173px;
height: 20px;
background-color: #3383b8;
}

ul.left-ul li {
margin:0px;
padding:0px;
line-height: 20px;
height: 20px;
width:173px;
list-style: none;
background-color: #3383b8;
}

ul.left-ul li a {
width:auto;
display: block;
text-align:center;
color: #fff;
text-decoration:none;
margin: 0px;
font-family: Verdana;
font-size:12px;
/* Анимация для браузеров основаных на Webkit */
-webkit-transition: background-color 0.15s linear;
}
/* Добавим анимацию при наведении */
ul.left-ul li a:hover {
background-color: #3597D8;
color:#f1f1f1;
}
/*----- блок новости -----*/
.news{
margin:0px;
margin-top:3px;
padding:0px;
margin-left:3px;
width:173px;
height:295px;
text-align:center;
background-color:#3383b8;
}

.news p{
margin:0px;
padding:0px;
padding-top:5px;
padding-bottom:5px;
color:#FFFFFF;
font-weight:bold;
}
/*----- блок отдельной новости -----*/
.news-1{
margin: 0 auto;
padding: 0px;
padding-top:7px;
width:166px;
height:100px;
margin-bottom:10px;
background-color:#f1f1f1;
}

.news-1 a{
color:#3383b8;
font-family: Verdana;
font-size:12px;
font-weight:bold;
text-decoration:none;
}

.news-1 a:hover{
color:#FF0000;
font-family: Verdana;
font-size:12px;
font-weight:bolder;
}

.news-1 p{
padding:4px 4px 4px 4px;
text-align:center;
color:#000000;
font-family: Verdana;
font-size:12px;
font-weight:normal;
}
/*----- основная часть сайта -----*/
.content {
margin-left:187px;
margin-right:7px;


}
/*----- заголовок основной части -----*/
.content h1{
margin-top:2px;
margin-bottom:2px;
text-align:center;
font-size:22px;
font-family: Arial;
color:#3383b8;
}
/*----- форматирование абзацев основной части -----*/
.content p{
text-align:justify;
padding-left:5px;
margin-top:5px;
margin-right:5px;
margin-bottom:5px;
font-family: Verdana;
font-size:10px;
}

/*----- foooooooter -----*/
.footer{
margin:0 auto;
width:840px;
text-align:center;
}

.footer-navigation{
width:840px;
height:15px;
background-color:#3383b8;
text-align:right;
position:relative;
}

.footer-link{
text-align:center;
float:left;
margin-left:25px;
margin-right:20px;
}

.footer-link a{
font-family: Verdana;
font-size:10px;
text-decoration:none;
color: #ffffff;
}

.footer-link a:hover{
font-family: Verdana;
font-size:10px;
text-decoration:none;
color: #f1f1f1;
}
/*----- copyright -----*/
.copyright{
text-align:center
}
.copyright p{
font-family: Verdana;
font-size:10px;
text-decoration:none;
color: #000000;
margin-top:1px;
margin-bottom:1px;
}

.copyright a{
font-family: Verdana;
font-size:10px;
text-decoration:none;
color:#3383b8;
}

.copyright a:hover{
font-family: Verdana;
font-size:10px;
text-decoration:none;
color: #ff0000;
font-weight:inherit;
}

Размеры картинок: логотип 45*45, иконки почты, языка и домашней страницы 22*22