Работает на Fenrir
potrebitel.net
Другие работы
Главная / Возможности /

Структура

Управление структурой сайта

Представление информации, размещенной на сайте, в виде древовидной структуры разделов - наиболее понятный и очевидный способ организации контента.

Практически все проекты на Fenrir.CMS содержат две базовых сущности: "Раздел" и "Параграф".

"Раздел" соответствует отдельной странице сайта, для него определяется название, заголовок (title), описание и т.д. Разделы могут иметь неограниченную вложенность.

"Параграф" в простейшем виде - это заголовок и блок форматированного текста. Раздел может содержать один или несколько параграфов.

Как и любые другие сущности, "Раздел" и "Параграф" можно расширить произвольным набором полей, можно и скрыть/удалить ненужные. Например, на этом сайте "Параграфу" добавлено поле "Пример исходного кода" для отображения листингов в техно-разделе.

За отображение структуры сайта и "статических" (редко изменяемых) страниц традиционно отвечают модули "Меню" и "Контент", используемые практически на любом сайте.

Сетевая структура

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

В этом случае следует создать дополнительный тип данных "привязка к разделу", содержащий указатель на сущность (произвольную или типизированную) и ссылку на раздел. Таким образом реализуется классический подход к хранению отношений "многие-ко-многим". Для удобства управления контентом программист может реализовать специальный интерфейс для привязывания сущностей к разделам, хотя это и не обязательно.

Кроме того, в Fenrir.CMS реализован механизм "ссылок". Ссылка является указателем на другой объект, для ссылки определяется родитель и положение среди братьев (позиция). Ссылки можно использовать, если есть уверенность, что объект-связка не может иметь дополнительных собственных свойств.