Пишем свою cms - шаг 3
В предыдущей статье -
Пишем свою cms - шаг 2
Вы узнали какой код положен в основу
config.php, и какие задачи
он решает.
Обычно config.php содержит настройки доступа к базе данных.
Но поскольку в нашем случае
megainformatic cms free это система,
которая работает без mysql баз данных, то этих настроек в
config.php нет.
Итак, поскольку с
config.php теперь всё ясно, будем двигаться дальше.
Рассмотрим какие файлы составляют основу шаблона сайта, и самое главное увидим их код.
Основу шаблона нашей cms составляет папка, расположенная в папке
design.
Заглянув в папку
design Вы увидите там все шаблоны, которые уже есть в Вашей cms.
Соответственно наша цель - разобраться как создать свой шаблон, взяв за основу код одного из имеющихся.
Не мудрствуя лукаво просто делаем копию папки
green.
И полученную новую папку назовём например,
go
Чтобы новый шаблон стал текущим по-умолчанию изменим содержимое файла
config.php на такое -
//набор доступных шаблонов
$templates = array('go', 'green', 'blue');
//имя шаблона по-умолчанию
$template_name = "go";
всё остальное оставим без изменений.
Видим, что новый шаблон во-первых стал текущим в блоке выбора шаблона сайта - слева вверху под шапкой сайта.
Во-вторых теперь мы смело можем зайти в папку
design/go/ и попробовать что-то там менять.
Давайте рассмотрим код файла
design/go/header.php нашего шаблона.
Я предполагаю, что Вы скачали
megainformatic cms free и смотрите код header.php из
папки
design/green/ или из созданной папки go являющейся пока полной копией папки green.
Приведу лишь некоторые выдержки из кода -
design/go/header.php
определяем DOCTYPE для нашего сайта.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
он будет влиять на то, как браузеры будут отображать все страницы сайта и какие особенности в записи html-тегов нужно использовать в коде.
далее видим как обычно - открывающие теги <html>, <head>, кодировку указанную в теге <meta>,
и наконец мы видим первый php код -
<?php
//подключаем модуль page, который отвечает за формирование заголовка (title) для страницы сайта
//и за контент, отображаемый в центральном блоке content сайта.
include_once "modules/page.php";
//тут видим, что заголовок страницы сайта будет взят из переменной $pagetitle
echo "<TITLE>$pagetitle</TITLE>";
?>
далее следует содержимое мета-тегов по-умолчанию для всех страниц сайта.
подключение стилей css
закрывающий тег </head>
и открывающий тег <body>
за ним следует вывод html-верстки формирующей шапку сайта
код для вывода текущей даты-времени
модуль выбора шаблонов сайта
а также блок новостей - замененный статичным блоком, поле для поиска по сайту, ссылка на карту сайта, облако тегов, и модуль бегущей строки сайта, выводящий некоторую полезную информацию.
Поскольку модулей для вывода случайной новости, поиска и карты сайта в составе нашей cms еще нет, то не будем волноваться по-поводу их отсутствия.
В дальнейшем, когда Вы разберетесь с вопросом создания собственной cms Вы сможете их либо написать самостоятельно, либо взять в готовом виде из других моих продуктов -
продукты сайта
Описанной информации Вам будет достаточно, чтобы усвоить задачу, которую решает файл
design/go/header.php
в шаблоне сайта.
Резюмировать можно так - header.php отвечает за определение DOCTYPE, кодировки, заголовка, мета-тегов, подключение стилей, а также вывод верхней части сайта, составляющей его шапку (top), а также информационные блоки - текущая дата-время, форма выбора шаблона, блок случайной новости, поле поиска, ссылка на карту сайта, облако тегов и бегущую строку.
Я не буду утверждать, что описанный код, особенно если Вы еще никогда не занимались созданием своей cms, выглядит несколько сложновато для новичка, но по крайней мере Вы его можете взять и начать эксперименты.
А это уже гораздо больше чем совсем ничего :))) Согласитесь.