Cтруктура сайта

Управление структурой сайта

Управление структурой сайта основано на взаимодействии разделов сайта и шаблонов.

При HTTP-запросе сначала запускается роутер, который по адресу страницы определяет наиболее подходящий раздел, получает остаток пути и выполняет код этого раздела.

Например, для структуры разделов

1 - /
2 - /zapros
3 - /zapros2

при открытии страницы /zapros/stranicy роутер определит обращение к разделу 2 (с адресом /zapros) и выполнит код этого раздела, передав в него остаток пути в переменной $pathTail = '/stranicy'

Что делать с $pathTail определяет сам код раздела - можно вывести какую-нибудь страницу 2-го уровня, можно отдать код 404 командой Core::showServicePage(404)

При открытии страницы, для которой невозможно определить раздел, например /zapros3, роутер выводит служебную 404-ю страницу сам.

При выполнении кода запроса вы можете выводить результирующий HTML сразу командами print или echo или воспользоваться командами:

$this->wrap($var, $templateKey, $parameters) - для того, чтобы обернуть поток раздела в шаблон с ключом $templateKey, вставив поток в переменную шаблона $var и передав в шаблон параметры $parameters

или

$this->json($parameters) - для того, чтобы вывести собранные параметры в формате JSON (поток раздела при этом не выводится)

Также вы можете вставлять в поток раздела любые шаблоны командой

print $this->getTemplate($templateKey, $parameters)->html, где $templateKey - ключ шаблона, $parameters - параметры, которые вы хотите передать в шаблон