ГРУППА КУРСА
|
Главная >
Учебник MySQL >
Движок сайтаЧто такое движок сайтаНа простых HTML сайтах каждая статься располагается на своей странице. Но для некоторых сайтов, например для социальных сетей, такой способ не подходит. Весьма неудобно для каждого пользователя создавать отдельную страницу. На таких сайтах для всех пользователей создаётся одна страница. Информация о конкретном пользователе берётся из БД и добавляется на эту страницу. Движок сайта - это набор скриптов и база данных, обеспечивающие работу такого сайта. В этой теме рассматривается создание движка простого сайта со статьями. Я намеренно предлагаю самый простой пример, достаточный, чтобы понять, что такое движок сайта и как его делать. В более сложном варианте будет много элементов и в них будет труднее разобраться. На основе этого примера Вы сможете делать реальные сайты. Принцип созданияСоздание движка сайта - достаточно сложная задача, требующая определённых знаий. Нужно уметь делать вёрстку сайта, работать с файлами и базами данных. Для создания движка нужно выполнить несколько действий:
У Вас может возникнуть вопрос: зачем разделять страницу на блоки и потом вставлять их при помощи PHP скрипта? В нашем примере только одна страница, но на реальных сайтах их больше. Вы можете отдельно создать главную страницу, сделать сраницы для разделов сайта, для формы регистрации и другие. И на всех этих страницах будут одинаковые блоки. Поэтому удобно раместить эти блоки в файлах и подлючать их в скрипте. Вёрстка страницыПодробно вёрстка рассматривается в учебнике CSS. Здесь я просто покажу код страницы. На этом этапе не обязательно определять дизайн сайта. В дальнейшем Вы сможете изменить блоки так, как угодно. А пока нужно определить общую структуру страницы. Для данного примера целесообразно создать отдельную папку и размещать в ней все файлы сайта. Назовём страницу page.php. Пока в ней будет только HTML код, но позднее в неё добавится PHP код, поэтому сразу сохраним её в нужном формате. Поместим страницу в созданную папку. page.php:
В этом коде всё просто, поясню лишь основные моменты. В строке 10 создаём шапку сайта. Затем идёт таблица из двух колонок. В первой колонке находится главное меню. Пока в нём есть только ссылка на главную страницу. Вторая колонка для статьи. Она будет вставляться из базы данных. Затем следует подвал сайта. Стиль будет содержаться в отдельном файле. Он уже подключён в 6 строке. Вот код файла: style.css:
Файлы шаблонаСозданную страницу нужно разделить на блоки и разместить их в файлах шаблона. Они будут находиться в основной папке сайта, но на реальных сайтах для них создаётся специальная папка. Файлы рекомендуется сохранять в формате tpl, потому что это специальный формат для файлов шаблона. Но можно сделать обычные HTML файлы. Особой разницы нет. HTML файлы не рекомендуют использовать только потому, что это формат для страниц, а файлы шаблона - это не страницы. Для шапки сайта создадим файл header.tpl. В нашем примере она состоит из одной строки, её и поместим в файл. header.tpl:
Таблицу, составляющую основу вёрстки, мы оставим на странице. В ней находится главное меню и контент сайта. Их мы будем выводить при помощи PHP скриптов Создадим файл footer.tpl для подвала сайта. footer.tpl:
Пока блоки, из которых состоит шаблон, пустые. Но Вы в любой момент можете заполнить их нужными элементами. Также Вы можете добавить в шаблон другие блоки. Присоединение блоковСозданные блоки нужно подключить к странице. Так как эти блоки будут всегда одинаковые, мы присоединим их самым простым способом - с помощью подключаемых файлов. Позднее мы рассмотрим более сложный способ. Подключать файлы шаблона будем с использованием конструкции require. Добавим её в те места сраницы, где должен быть код блоков. Страница будет выглядеть следующим образом: page.php:
Если Вы всё сделали правильно, то страница должна отображаться точно так же, как до разделения на блоки. Вы можете создавать новые страницы и подключать к ним эти блоки. Содержание сайтаКонтент будет содержаться в базе данных. Я использую базу данных mybase, которая создавалать при рассмотрении предыдущих тем учебника. Если у Вас нет базы данных, то нужно её создать. В ней создадим таблицу для статей, назовём её art. В таблице должны быть такие поля: id - номер статьи name - название статьи text - текст статьи menu - текст для пункта меню Добавьте в созданную таблицу несколько статей. Задайте им любые названия и напишите какой-нибудь текст. Чтобы отделять абзацы статей, тэги <p> могут находиться прямо в базе данных вместе с текстом. В ней могут быть и другие теги, например ссылки и картинки. Если Вы создаёте отдельные страницы для разделов сайта, то можно для них сделать записи в таблице как для обычных статей. Вывод меню на страницуЧтобы пользователь мог увидеть статьи, в главном меню должны быть ссылки на них. Все ссылки будут вести на одну страницу и в них будет GET-запрос, содержащий номер статьи. Например ссылка на первую статью должна быть такой:
Чтобы вывести ссылки на все статьи сайта, добавим PHP скрипт в блок с главным меню. Этот скрипт будет получать id статей и тексты ссылок из базы данных. Используя эти данные скрипт будет формировать ссылки. Блок главного меню должен выглядеть так:
Вывод контентаДля вывода статьи нужно добавить к коду страницы скрипт, который получает статью из базы данных и размещает на странице. Этот скрипт будет находится в блоке для контента. Вот его код:
Поясню, как работает этот скрипт. Номер статьи берётся из массива $_GET и записывается в переменную $art. Если номера статьи нет, значит это главная страница, и выводится текст, который должен располагаться на ней. Если номер статьи есть, то из БД берётся статья с этим номером и выводится на страницу. В этом скрипте нет подключения к MySQL, потому что это было сделано ранее. Название статьи помещается в тэг <h1>. К тексту никакие тэги не добавляются, потому что текст содержится в базе данных уже с тэгами. Чтобы сайт был сделан более грамотно, рекомендуется разделять HTML и PHP код. Рассмотренный скрипт можно поместить в файл и подключить к странице. |