Добро пожаловать в систему управления сайтом megainformatic cms ! | ||
[назад] | ||
7) Создание шаблонов |
||
В предыдущих уроках мы уже рассмотрели основы того, как можно подойти к созданию вашего сайта. Принципиально эти шаги являются универсальными и подойдут вам в применении к любой cms, потому что принципы использования html, css и php во всех системах подобны. Главным отличием megainformatic cms является независимость и снятие многих ограничений на внедрение дополнительных модулей. Однако цена этому - крайняя минимализация и упрощение функционала. |
||
Рассмотрим каким образом можно с одной стороны немного усложнить систему, а с другой - получить некоторый набор новых возможностей. | ||
Основная задача - это то, чтобы все страницы сайта выглядели в едином стиле, включая страницы модулей - поиск по сайту (search.php), карта сайта (map.php), модули обработки заказов (after_buy.php, after_pay_kind.php, buyer_data.php, accept_order.php). | ||
Казалось бы - самым простым способом является взятие необходимого кода из index.php и вставка в эти файлы. В принципе да, но не совсем так. Если мы просто возьмем сейчас тот код, который уже есть в index.php и скопируем его и вставим в код этих модулей (еще не забудьте про соответствующие изменения), то в дальнейшем нам придется при изменении оформления - при использовании нового шаблона - вручную обновлять код html и css и во всех модулях, в который мы его вставим. А как же сделать лучше тогда ? Спросите вы. Воспользуемся опытом, который можно позаимствовать из других CMS. Мы конечно возьмём самый простейший вариант. И вот как он выглядит: |
||
1) Сейчас у нас есть index.php, который содержит html, css код оформления нашего сайта, а также необходимый php код отвечающий за вывод контента и подключение других модулей; Модули которые я перечислил выше оформления не содержат вообще - только необходимый минимум php кода для обеспечения своей функциональности; 2) Шаг первый - мы должны разбить код файла index.php на 4 логические части - header.php, menu.php, content.php, footer.php эти файлы мы поместим в отдельную папку blocks в файл header.php пойдёт весь код начиная от начала файла index.php и до строки <div id="top"><a href="http://www.megainformatic.ru"><img src="images/skin/top.jpg" alt="создание игр, уроки, создание сайтов" width="800" height="111" border="0"></a></div> включительно |
||
в файл menu.php пойдёт весь код между строками - <!-- ====== MENU ========= --> <!-- ====== MENU ========= --> |
||
в файл content.php нужно вставить код между строками - начиная со строки следующей сразу же за блоком меню <div id="infoleft"> и до второго появления строки <!-- =============/ CONTENT ================ --> включительно ! оставшийся код пойдёт в файл footer.php |
||
после того как эти файлы будут созданы, вам останется изменить код файла index.php на следующий -
|
||
<?php /* ======================================================================== megainformatic cms 16.01.2011 ======================================================================== include "blocks/header.php"; ?> |
||
сохранить изменения и проверить работу обновленного сайта. Если вы всё сделали правильно и всё работает без ошибок, то пришла пора добавить использование оформления шаблона в другие модули. Каким образом ? А по аналогии с тем, что мы сотворили с index.php - мы разбили весь его код на 4 независимые части, которые теперь отвечают за формирование - заголовочной части шаблона сайта (header), блока меню (menu), контента (content), нижней части страницы (footer). Значит чтобы превратить например модуль map.php в оформленный по шаблону мы вставляем в его начало следующий код |
||
<?php /* ======================================================================== megainformatic cms 16.01.2011 ======================================================================== $pagetitle_overloaded = "Мега Информатик - Карта сайта"; /*данная переменная определяет новый заголовок для страницы, иначе он берется из модуля header.php */ include "blocks/header.php";
?> |
||
Созданную карту сайта надо выводить в блоке контент (content.php), но поскольку этот блок по-умолчанию отвечает за вывод статей сайта, то мы его не можем взять, требуется его переделка и тут можно поступить двояко - либо создать видоизмененный файл content.php, назвав его как то по-другому и подключив директивой include, либо просто взять весь код оттуда и внеся изменения добавить в модуль map.php, мы так и поступим - вот что надо взять из модуля content.php - | ||
<div id="infoleft"> </div> |
||
далее вставляем код, который непосредственно отвечает за оформление и вывод карты сайта | ||
<table width="85%" border="0" cellpadding="0" cellspacing="0"> <?php $pageid = 1; echo "<tr> face='Verdana, Arial, Helvetica, sans-serif'>".$pagetitle."</font></a></p></td> </table> </div> <!-- =============/ CONTENT ================ --> |
||
и как обычно подключаем вывод нижней части страницы - | ||
<?php include "blocks/footer.php"; ?> |
||
Другие модули оформить по шаблону можно аналогично. | ||
В следующих наших уроках нас ждут обновления системы на тему - - переключение шаблонов через админку сайта, новый вариант системы шаблонов; - отслеживание в админке списка статей, проектов, пользователей; |
||