Как работает 5CMS

5CMS обеспечивает легкий вход для программиста.

Итак, например, пользователь в браузере загружает страницу:

demo.5cms.ru/products/htc-sensation

В .htaccess разбирается URL и происходит редирект на соответствующий контролер:

RewriteRule ^products/([^/]+)/?$ index.php?module=ProductView&product_url=$1 [L,QSA]

Как видите контроллер в данном случае ProductView.

И в контроллер передается URL товара - product_url

Все контроллеры находятся в папке /view/

Прим.: также обращение к контроллеру может осуществляться через post запросы

Контроллер:

а) Обращается к нужным классам API.

Например:

$product = $this->products->get_product((string)$product_url);

Идет обращение к функции get_product класса Products (лежит в /api/Products.php) с целью получить данные о товаре с конкретным URL.

Как видите, даже по названию функции понятно о чем идет речь.

б) Обрабатывает полученные из API данные

в) Передает значения переменных и выводит результат в шаблон дизайна.

Например:

$this->design->assign('product', $product);

Здесь массив информации о товаре из пункта а) $product присваивается одноименной переменной, которая станет доступна в шаблоне. 

return $this->design->fetch('product.tpl');

Здесь определяется шаблон дизайна для вывода: product.tpl (см. структура шаблонов)

Классы API:

В папке /api/ содержатся все основные классы 5CMS. Данные классы предназначены для работы с базой данных.

Как правило в этих классах используюся функции для выборки сущностей, добавления, удаления и обновления.

Резюме:

а) Итак, как вы уже поняли, все работы по внесению изменений в код начинаются с соответствующего контроллера

б) Однако, многие вещи можно реализовать прямо в шаблоне:

  • например благодаря плагину api можно вызвать любую функцию API сразу из шаблона

Другая информация:

Как работает 5CMS

Еще нет своего сайта? Создайте интернет-магазин на платформе 5CMS - Все для продаж уже внутри!

Рекомендуем прочитать