Наверх

Устройство модуля

Модули в 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/имя_модуля/имя_модуля.model.php. А если нужно поправить отображение элементов модуля на сайте, то необходимо править файл-шаблон modules/имя_модуля/имя_модуля.view.имя_шаблона.php.

Если в модуле обрабатываются данных из формы, то добавляется файл:

  • обработка – файл modules/имя_модуля/имя_модуля.action.php класс Имя_модуля_action.

Если модуль имеет часть «Подключение», то есть используется в других модулях, то добавляется еще один файл:

  • подключение – файл modules/имя_модуля/имя_модуля.inc.php класс Имя_модуля_inc.

Если модуль устанавливается опционально, то должен существовать файл инсталляции:

Если страница модуля должна существовать независимо от структуры сайта, то можно обратиться к файлу модуля напрямую. Для этого файл должен иметь название modules/модуль/модуль.функция.php. Обратиться к нему можно так: http://site.ru/модуль/функция/.

Модуль может взаимодействовать с другими модулями. Для этого нужно подготовить файлы в формате, предусмотренном сторонними модулями.

Отдельно следует отметить JS-скрипты модуля. С ними тоже связаны некоторые особенности.

Ваши комментарии и дополнения

Зарегистрируйтесь или авторизируйтесь для того, чтобы оставить комментарий.