Мощный и простой язык шаблонирования - основа системы DJEM.
Язык DJEM-script предназначен для добавления в документы информации
элементов структуры информационной системы (например, сайта) без
непосредственного обращения к базе данных. Для успешной работы с языком не
требуется специальная подготовка. Если пользователь обладает знаниями общих
принципов программирования на языках высокого уровня (понятия выражения,
оператора) и знанием HTML (написание тегов, понятие атрибута тега), то это
будет для него плюсом при работе с DJEM-script.
Операторы и методы DJEM-script обращаются к данным документа. Документы в
системе готовятся на основе контент-шаблонов. Контент-шаблон описывает
структуру документа, которая состоит из полей (контейнеров информации).
Например, документ «новость» может состоять из следующих полей: дата события,
заголовок новости, краткое описание и полный текст. Каждому полю в
контент-шаблоне присваивается название, состоящее из латинских букв и цифр. Это
название должно быть уникальным в пределах контент-шаблона. Для приведенного
примера, поля могут называться следующим образом: date, title, announce, text,
соответственно. Эти названия используются в DJEM-script для обращения к полям
документа, созданного по этому контент-шаблону. Подробнее см. п.
Поля документа.
Каждый раздел и документ обладают уникальным цифровым значением –
идентификатором (_id), который служит для доступа к документу или разделу.
Для представления документов и разделов применяются дизайн-шаблоны. Они
описывают формат или внешний вид документа. Примером дизайн шаблона может быть
html или xml документ, в который встроены DJEM-script, позволяющие подставлять
данные конкретного документа или раздела. Дизайн-шаблон, для новости, описанной
выше, может быть следующего вида:
<html>
<head>
<title><#date#> –
<#title#></title>
</head>
<body>
<h1><#title#></h1>
<p><#date#></p>
<p><#text#></p>
</body>
</html>
Таким образом, DJEM-script можно комбинировать с html, xml или с любым
другим форматом документов. В данном примере конструкции <#date#>,
<#title#> и <#text#> будут заменены на данные из полей date, title
и text, соответствующего документа.
Можно выводить контейнеры не только из текущего документа, но и из любого
другого – для этого используется идентификатор _id. В этом случае языковая
конструкция выглядит так: <[id].name>, где id – уникальный числовой
идентификатор документа-раздела, а name – имя поля, которое необходимо вывести.
Обращение к другим документам, например, может быть использовано для вывода
анонсов новостей на одной странице. Дизайн-шаблон для отображения заголовков,
дат и анонсов документов с идентификаторами 1, 2 и 3, может иметь вид:
<html>
<head>
<title>Список новостей</title>
</head>
<body>
<h1><[1].title></h1>
<p><[1].date></p>
<p><[1].announce></p>
<hr>
<h1><[2].title></h1>
<p><[2].date></p>
<p><[2].announce></p>
<hr>
<h1><[3].title></h1>
<p><[3].date></p>
<p><[3].announce></p>
<hr>
</body>
</html>
Для просмотра результатов работы DJEM-script, находящегося в дизайн-шаблоне,
нужно присвоить документу данный дизайн-шаблон и опубликовать его, нажав
комбинацию клавиш <Ctrl> + <P>, или выбрав пункт «опубликовать» из
контекстного меню (для этого нужно выбрать документ или раздел в списке).
Открыть опубликованный документ можно нажатием клавиши пробел.