Основные принципы

Принципы работы системы очень просты для понимания и технически полностью соответствует логике работы фреймворка Django. Но наша CMS не просто дополняет Django визуальным интерфейсом, а еще и предоставляет новые возможности, которые существенно упрощают работу с любым проектом и делают её доступной даже для неопытного пользователя.

Каждый сайт представляет из себя набор страниц. Страница может содержать статью, новость, товар или любой другой контент, который обладает определенными свойствами. В системе это называется «Объект». Объект может быть чем угодно, но важно то, что он сам уже ни на что не делится, он лишь содержит переменные (атрибуты) и выводит их по заданному URL, используя свой html-шаблон оформления.

Представьте сайт в виде большого дерева, на котором находятся плоды совершенно различных видов: груши, яблоки и ананасы одновременно. В нашем случае «Объект» будет таким плодом — конечной единицей информации в иерархии большого дерева. Плоды, как известно, располагаются на ветках. В нашем случае такой веткой будет Папка каталога или, как ее еще иногда называют, категория. Папка может содержать в себе объекты строго определенного вида. Если вы создали папку для статей, то статьи. Если это фотогалерея, то это будут страницы с фотографиями и так далее.

Наконец, категория, в свою очередь, принадлежит Модулю. Модуль задает свойства объектам, которые находятся в его категориях и определяет все их атрибуты.

Базовая иерархия в системе элементарная — простой принцип объединения объектов в категории. Но всё волшебство таят в себе уникальные свойства категорий и объектов. Дело в том, что и категория и объект могут работать в системе как абсолютно самостоятельные элементы, имея свой уникальный URL и шаблон оформления. Их можно оформить по-разному и расположить в любом месте сайта, как абсолютно независимый элемент, исключить из модуля (просто скрыв его в выводе) и при этом оставить ему все функциональные свойства этого модуля.

Объекты из папок можно выводить как на заданных URL, так и независимыми списками в абсолютно любых местах сайта, где вам угодно. Поставили в HTML-код шаблона страницы тег нужной категории и в этом месте появляется список её объектов, оформленный по отдельному шаблону. Таким же способом можно выводить и списки категорий.

Остались вопросы?