Устройство модуля
Модули в DIAFAN.CMS основаны на MVC паттерне. Это означает, что в одной части модуля данные готовятся и обрабатываются, в другой части эти данные оформляются и выводятся на сайт. Управляется все это контроллером. Сделано это для того, чтобы можно было как угодно править оформление модуля, не переживая за алгоритм обработки данных, и наоборот. То есть, каждый разработчик может переоформить внешний вид модуля новостей не затрагивая алгоритм. Модуль должен обязательно иметь 3 части:
- контроллер – файл modules/имя_модуля/имя_модуля.php класс Имя_модуля;
- модель – файл modules/имя_модуля/имя_модуля.model.php класс Имя_модуля_model;
- шаблон – файлы в папке modules/имя_модуля/views, формат файла modules/имя_модуля/views/имя_модуля.view.имя_шаблона.php.
Пример:
Модуль «Новости» состоит из файла
- modules/news/news.php – это контроллер модуля. В нем определяется какие функции в моделе подключить, какие шаблонные теги используются в модуле.
- modules/news/news.model.php – модель модуля, в которой описаны функции модуля. В модели запрашиваются данные из БД, идет их обработка и готовится переменная-массив $result для передачи информации в шаблон модуля.
- Файлы в папке modules/news/views/... – шаблон модуля. В шаблоне принимается переменная $result из модели модуля и все данные из нее оформляются и выводятся на сайт.
Если в модуле обрабатываются данных из формы, то добавляется файл:
- обработка – файл modules/имя_модуля/имя_модуля.action.php класс Имя_модуля_action.
Если модуль имеет часть «Подключение», то есть используется в других модулях, то добавляется еще один файл:
- подключение – файл modules/имя_модуля/имя_модуля.inc.php класс Имя_модуля_inc.
Если модуль устанавливается опционально, то должен существовать файл инсталляции:
- инсталляция – файл modules/имя_модуля/имя_модуля.install.php.
Если страница модуля должна существовать независимо от структуры сайта, то можно обратиться к файлу модуля напрямую. Для этого файл должен иметь название modules/модуль/модуль.функция.php. Обратиться к нему можно так: http://site.ru/модуль/функция/.
- прямое обращение – файл modules/модуль/модуль.функция.php.
Модуль может взаимодействовать с другими модулями. Для этого нужно подготовить файлы в формате, предусмотренном сторонними модулями.
Отдельно следует отметить JS-скрипты модуля. С ними тоже связаны некоторые особенности.
Зарегистрируйтесь или авторизируйтесь для того, чтобы оставить комментарий.
Ваш комментарий будет первым.