Организация объектов, представляющих содержимое сайта, определяет многие свойства сайта, прежде всего систему навигации. Это обеспечивается созданием определенной структуры объектов-контейнеров и размещением в них необходимых контент-объектов в случае использования в качестве контейнеров папок или определением критериев отбора и созданием структур вложенных коллекций, производящих многоуровневый отбор необходимых объектов. Поскольку папки могут включать в себя коллекции, то в результате все содержимое сайта представляет собой сложную иерархическую систему реальных и виртуальных объектов-контейнеров, содержащих в себе как реальные, так и виртуальные объекты.
![]() | Замечание |
|---|---|
Кроме папок и коллекций, позволяющих создавать структуру сайта, имеется возможность использовать различные агрегаторы данных, предназначенные для автоматического сбора информации как из сети, так и с сайта, такие как RSS-каналы. |
Выбор способа организации папок прежде всего определяется предполагаемой структурой хранения объектов, их типами и системой прав доступа. Так, например, все папки, созданные в корневом разделе сайта, будут представлены во вкладках основного меню сайта. Это можно исправить установкой опции, запрещающий отображение папки в системе навигации, но такая проблема не возникнет, если первый уровень сайта будет состоять из объектов, отображение ссылок на которые в главном меню действительно необходимо.
![]() | Важно |
|---|---|
Одним из определяющих правил, которым следует руководствоваться при создании структуры, является правило объединения в папку элементов, необходимых для решения конкретного круга задач. Объекты, обеспечивающие решение одновременно нескольких задач, следует выводить в папку более высокого уровня или создавать отдельный контейнер для их хранения. Так, например, все изображения, доступ к которым необходим из различных объектов в разных частях сайта, следует хранить в отдельной папке, созданной на одном из верхних уровней сайта. |
Создание структуры папок во многом подобно созданию структуры каталогов файловой системы при разработке сайтов как статического, так и динамического типа. Однако наличие таких типов объектов как Ссылка и Коллекция, позволяет упростить реализацию различных требований. Рассмотрим пример создания сайта кафедры института. Необходимо создать структуру папок, предназначенную для хранения данных о студентах, обучающихся на различных специальностях и курсах. Одним из решений является создание иерархической структуры, как показано на Рис. 6.1.
Предполагается, что в папках курсов хранятся объекты, содержащие данные о конкретных студентах.
Пусть возникла необходимость ввести раздел для хранения данных о студентах-участниках научных конференций. Если для раздела выбрать объект типа Папка, то в этом случае в нем придется размещать копии объектов, представляющих студентов. При таком решении возникнет проблема синхронизации объектов при редактировании и удалении. Более правильным будет решение, когда в создаваемом разделе будут храниться ссылки на уже существующие объекты.
Другим решением будет создание коллекции путем выбора в качестве критерия отбора следующего условия — отбирать объекты типа Студент (предполагается, что такой тип существует), для которых установлена категория «участник конференции». При таком решении требуется только установка соответствующих категорий у отдельных объектов.
![]() | Замечание |
|---|---|
Отнесение студентов к определенному курсу можно было бы решить подобным образом, объединив все объекты контент-типа Студент в один общий раздел и настройкой категории устанавливать у каждого объекта принадлежность к определенному курсу. Затем для каждого курса создается соответствующая коллекция и определяется критерий отбора. |