Документация

Начало работы

Модели (models)

Шаблоны (views) и маршрутизация (routes)

Формы

SQL запросы

Сессии и безопасность

Плагины

Запуск простого сайта на MV

В данном разделе описан пример запуска простого сайта на MV. Предполагается что уже произведена установка и запуск фреймворка.

Предположим имеется сверстанный шаблон в html.

<head>
    <title>Тестовый сайт</title>
    <link rel="stylesheet" type="text/css" href="/media/css/style.css" />
</head>
<body>
    <div id="header">
        <ul>
            <li class="active"><a href="/about/">О нас</a></li>
            <li><a href="/services/">Услуги</a></li>
            <li><a href="/contacts/">Контакты</a></li>
        </ul>
    </div>
    <div id="content">
        <h1>Заголовок страницы</h1>
        <p>Содержание страницы</p>
    </div>
    <div id="footer"></div>
</body>

Здесь будет использована модель "Pages", описанная в разделе Предустановленные модели. Модели для сайта уже созданы, мы будем работать только с шаблонами из папки "views". Более подробно о маршрутизации можно прочитать в разделах Общие принципы шаблонов и Index, default и 404 шаблоны.

1. Разделение шаблона на header и footer

Большинство сайтов имеют повторяющуюся верхнюю и нижнюю части, которые обычно называются "header" и "footer". Данные части отделяются от основного шаблона в отдельные файлы и подключаются в верхней и нижней части страницы. В MV header и footer представлены файлами "main-header.php" и "main-footer.php" в папке "views". Отделим верхнюю и нижнюю части от нашего шаблона и сохраним их в эти файлы.

Содержимое файла "main-header.php"

<head>
   <title><? echo $mv -> seo -> title; ?></title>
   <meta name="description" content="<? echo $mv -> seo -> description; ?>" />
   <meta name="keywords" content="<? echo $mv -> seo -> keywords; ?>" />
   <link rel="stylesheet" type="text/css" href="<? echo $mv -> media_path; ?>css/style.css" />
</head>
<body>
    <div id="header">
        <ul>
             <? echo $mv -> pages -> displayMenu(-1); ?>
        </ul>
    </div>

Здесь для вывода меню мы используем метод "displayMenu()" модели "pages". В качестве параметра он принимает id родительского раздела, из которого осуществляется вывод пунктов меню. Если мы выводим пункты меню корневого раздела, то в качестве параметра id указываем -1. Дополнительные примеры вывода меню можно найти в разделе Предустановленные модели.

Содержимое файла main-footer.php

    <div id="footer"></div>
</body>

2. Шаблон главной страницы

Открываем файл view-index.php ниже приведено его изначальное содержимое без первых двух строк, которые можно удалить.

<?
//Ищем строку в базе данных с содержимым главной страницы 
$content = $mv -> pages -> findRecord(array("url" => "index")); 

//Если не нашли показываем 404 ошибку
$mv -> display404($content);

//Склеиваем параметры для meta тэгов
$mv -> seo -> mergeParams($content, "name"); 

//Подключаем верхнюю часть шаблона и выводим поля из базы данных 
include $mv -> views_path."main-header.php";
?>
    <h1><? echo $content -> name; ?></h1> 
    <? echo $content -> content;?> 
<? 
include $mv -> views_path."main-footer.php"; //Подключаем нижнюю часть шаблона 
?> 

Добавляем элементы нашего шаблона и получаем итоговый вид файла "view-index.php"

<?
$content = $mv -> pages -> findRecord(array("url" => "index"));
$mv -> display404($content);

include $mv -> views_path."main-header.php";
?>
    <div id="content">
        <h1><? echo $content -> name; ?></h1>
        <? echo $content -> content; ?>
    </div>
<?
include $mv -> views_path."main-footer.php";
?>

3. Шаблон типовой внутренней страницы

Данный шаблон отображается если запрошена не главная страница и все другие шаблоны были пропущены маршрутизатором. Переход на данный шаблон не является 404 ошибкой, хотя если при разборе URL данная страница не будет определена, то произойдет переход на шаблон 404 страницы.

Итоговый вид файла "view-default.php", он отличается от шаблона главной страницы только первой строкой, в которой происходит поиск страницы по запрошенному URL адресу.

<?
$content = $mv -> pages -> defineCurrentPage($mv -> router);
$mv -> display404($content);
$mv -> seo -> mergeParams($content, "name");

include $mv -> views_path."main-header.php";
?>
    <div id="content">
        <h2><? echo $content -> name; ?></h2>
        <? echo $content -> content; ?>
    </div>
<?
include $mv -> views_path."main-footer.php";
?>

4. Шаблон 404 ошибки

Если были пройдены все этапы поиска страницы в базе данных и она не была определена, то происходит вызов шаблона ошибки 404. В mV есть для данного случая специальный шаблон "view-404.php". Итоговое содержание данного файла для нашего сайта.

<?
$content = $mv -> pages -> findRecord(array("url" => "e404"));
$mv -> seo -> mergeParams($content, "name");

include $mv -> views_path."main-header.php";
?>
    <div id="content">
        <h2><? echo $content -> name; ?></h2>
        <? echo $content -> content; ?>
    </div>
<?
include $mv -> views_path."main-footer.php";
?>

5. Управление сайтом

Теперь когда все шаблоны настроены можно переходить в административную часть сайта, которая по умолчанию находится по адресу "/adminpanel/" (логин "root" и пароль "root"). В разделе "Меню страниц" можно создавать, редактировать и удалять страницы. Страница, у которой значение поля "Ссылка" равно "index", будет главной страницей сайта. Содержимое страницы ошибки 404 будет браться из страницы с полем ссылка равным "e404".

Предыдущий раздел

Структура папок

Следующий раздел

Предустановленные модели