Разработка приложений
Развитая функциональность CMS была создана в процессе работы над многими сайтами. CMS использовался и в системах электронной коммерции, и в Интернет / интранет системах, в корпоративных сайтах, сайтах Интернет изданий, развлекательных проектах.
Основной идеей было создание системы, позволяющей отделить данные, функциональность и представление. Это позволило создавать функциональность, обрабатывающую различные структуры данных. При этом переход от данных одного вида к другим данным не требовал переписывания уже готовых модулей. Помимо этого одни и те же данные за счет применения различных шаблонов можно выводить совершенно по-разному.
Система построена с применением mod_rewrite модуля, позволяющего интерпретировать наличие файлов и папок на сервере (ЧПУ). Это позволяет решить сразу несколько задач:
- оптимизация сайта для некоторых поисковых машин;
- кэширование страниц на промежуточных proxy-серверах;
- запоминаемые пути (например, mysite.com/products/ вместо mysite.com/index.php?module=products или mysite.com/index.php?module=547);
За счет этого разработчики задают структуру сайта через административный интерфейс. Структура сайта представляет собой дерево разделов. Каждый раздел содержит название, относительный путь, описание и набор других параметров.
Система разделена на 2 части: административный интерфейс и система отображения страниц сайта. Фактически разработчики редко меняют файлы административного интерфейса, задавая только структуру сайта и изменяя дизайн системы отображения.
Отдедение данных от функциональности является основой системы. Это позволяет делать управление данными без изменения файлов плагинов, а зачастую и дизайна.
Система содержит большой ряд готовых модулей для всевозможных задач. Применение готовых решений помогает сократить время разработки сайта и делать это на оттестированном решении. Соответственно стоимость разработки сайта на CMS уменьшается по сравнению с разработкой сайта с нуля.
Представление данных для отображения на сайте решается с помошью шаблонов и изменения глобальныйх файлов. Привязка дизайна забирает немного времени и производится обычным изменение HTML.
|