Связи и как ими пользоватьсяКаждый документ DJEM содержит произвольный набор пользовательских полей.
Большая часть этих полей определяется Ссылаться на другие документы можно через любое пользовательское поле документа. При этом каждый документ DJEM содержит три специализированных системных поля, которые вы можете использовать для ссылок на другие документы DJEM это _link1, _link2, _link3. Каждое из этих полей может содержать одно числовое значение. На каждом из этих полей стоит индексация средствами базы данных, что делает выборки по этим полям наиболее эффективными. Ссылаться на другие документы можно и через другие поля, не обязательно использовать именно эти, но использование для связей данных системных полей даст вам наибольший выигрыш по скорости. Другим способом будет ссылка через одно из «быстрых» полей («быстрыми» полями в DJEMе называются пользовательские поля, на которые наложен DJEM-индекс). С помощью механизма связей мы можем эффективно управлять документами, которые ссылаются на другие документы когда у документов существует произвольной длины список присоединенных документов. Например, с помощью механизма связей можно присоединить фотографии к фотогалерее или таблицы к статье на сайте. Начнем с примера, который описывает более сложную ситуацию, чтобы лучше продемонстрировать механизм связей в действии, а потом перейдем к более простым и практичным случаям. Для описания механизма связи воспользуемся конкретным примером. Например, мы делаем сайт любителей кино. У нас есть папка с фильмами и папка с актерами. Мы хотим создать сущность «роль», которая описывала бы, какой актер в каком фильме играл какую роль. Документ типа «Роль» таким образом содержит две ссылки (мы в джеме обычно называем их «лапками») на другие документы на конкретный фильм и на конкретного актера. В документе «Роль» могут содержаться и другие поля например, гонорар актера за участие в этом фильме, имя персонажа в фильме и так далее, но главное это лапки, ссылки на две разные сущности. Наша задача дать возможность быстро создавать и отслеживать связи между актерами и фильмами. В DJEMе для этого создано специальное интерфейсное решение под названием «Связи». Связанные документы показываются списком присоединенных документов под основным окном со списком документов в текущей папке. Например, на приведенном ниже скриншоте мы находимся в папке «Фильмы», а внизу, в интерфейсе связей, показаны все документы типа «Картинки», которые присоединены к выделенному курсором документу фильму «Матрица» Давайте попробуем создать связь подразумевается, что у нас уже есть две
папки, «Фильмы» и «Актеры», в которых лежат Для примера создадим папку «Роли» на одном уровне с нашими папками «Фильмы»
и «Актеры». Создадим Теперь мы подключаем отображение ролей в папке фильмы. Щелкаем правой кнопкой мыши по разделу «Фильмы», выбираем «Свойства». В открывшемся диалоге выбираем закладку «Связи». Поскольку раздел «Роли» мы создавали не в специальном разделе DJEM
(«Настройки» → «Связи»), то выбираем «Прямая связь», а не «Библиотека».
Появится другой набор полей «Номер раздела», «Имя связи» и «Код поля». В поле
«Номер раздела» вы можете вбить идентификатор раздела, в котором содержатся
наши Заполнив два поля и описав таким образом связь, нажимаем кнопку «Добавить». Описанная связь добавляется в список связей для этого раздела.
Нажимаем кнопку OK, сохраняя настройки связей для данного раздела. Сразу
после изменения свойств раздела новые связи не появятся, чтобы их увидеть
щелкните в любой другой раздел, потом снова вернитесь на папку «Фильмы». Вуаля!
Мы видим, что панель с документами разделилась на две половины. Сверху
отображаются документы из папки «Фильмы», снизу Если мы повторим ту же процедуру для раздела «Актеры» добавим отображение
связи «Роль», изменив лишь код поля на _link2 (поскольку «Роль» ссылается на
актера через поле _link2), то получим отображение тех же ролей, но уже
отфильтрованных по актеру. И точно так же можем добавить роль для актрисы
Все, на этом месте у нас есть полноценная работающая связь. Отправимся в раздел «Связи» он находится в папке «Настройки». Щелкнем правой кнопкой на списке документов справа и выберем «Добавить документ». Появится диалог создания связи. Поле «Имя связи» задает название для раздела, который будет создан в разделе
«Связи» и который будет содержать наши Нажмем кнопку «Добавить», будет добавлено новое поле. Выделим его курсором. Справа от окна списка находятся три свойства для каждого из полей связывания. «Название» это описание тех документов, на которые мы ссылаемся. В нашем случае «Галерея» наши фотографии будут ссылаться на фотогалерею, к которой принадлежат. Далее идет «Код поля для связывания» это код поля, посредством которого мы будем связаны с другими документами. Введем здесь _link1. Заполненный вариант диалога создания связи показан на скриншоте. Нажимаем на кнопку ОК. Мы видим, что система создала в разделе «Связи» новый
раздел «Фотографии». Вы можете редактировать его свойства точно так же, как и
свойства любого раздела в DJEM можете присваивать Создадим Теперь мы можем присоединять созданный нами Все! Мы привязали раздел «Фотографии» к разделу «Фотогалереи». Теперь, установив курсор на фотогалерею, мы получаем список всех фотографий, которые к данной фотогалерее присоединены. Можем добавить фотографию, щелкнув правой кнопкой на списке фотографий и выбрав «Добавить документ». Можем удалять документы. С точки зрения |
Поиск по документации |