Документация к шаблону сайтов образовательных учреждений

Описание технического решения

Логическая структура: перечень и описание подразделов, включая статистические элементы

Пути к файлам шаблонов указаны относительно каталога xsltTpls/modules

Раздел

Модуль

Тип данных

Шаблон оформления

О нас

Структура

Страница контента

content/content. xsl

·  Статьи

Новости

Лента новостей

news/rubric. xsl

o  Статья

Новости

Новость

news/item. xsl

·  Новости

Новости

Лента новостей

news/rubric. xsl

o  Объявления

Новости

Лента объявлений

news/rubric. xsl

§  Объявление

Новости

Новость

news/item. xsl

o  Анонсы

Новости

Лента анонсов

news/rubric. xsl

§  Анонс

Новости

Новость

news/item. xsl

o  События

Новости

Лента новостей

news/rubric. xsl

§  Событие

Новости

Новость

news/item. xsl

·  Структура управления

Структура

Страница контента

content/content. xsl

o  Статьи

Новости

Лента новостей

news/rubric. xsl

·  Показатели

Структура

Страница контента

content/content. xsl

o  Статьи

Новости

Лента новостей

news/rubric. xsl

·  Экскурсия

Структура

Страница контента

content/content. xsl

o  Видео

Фотогалерея

Фотография

photoalbum/__common. xsl

o  Фотографии

Фотогалерея

Фотоальбом

photoalbum/__common. xsl

§  Фотография

Фотогалерея

Фотография

photoalbum/__common. xsl

·  Вопросы и ответы

FAQ

Категории в FAQ

faq/category. xsl

o  Вопрос

FAQ

Вопрос в FAQ

faq/question. xsl

·  Контакты

Каталог

Разделы каталога

catalog/contacts/category. xsl

Деятельность

Структура

Страница контента

content/content. xsl

·  Статьи

Новости

Лента новостей

news/rubric. xsl

·  Классы

Каталог

Разделы каталога

catalog/classes/category. xsl

o  Статьи

Новости

Лента новостей

news/rubric. xsl

·  Группы ДОУ

Каталог

Раздел каталога

catalog/preschool_groups/category. xsl

o  Статьи

Новости

Лента новостей

news/rubric. xsl

·  Группы дополнительного образования

Каталог

Раздел каталога

catalog/additional_groups/category. xsl

o  Статьи

Новости

Лента новостей

news/rubric. xsl

·  Группы продленного дня

Каталог

Раздел каталога

catalog/prolonged_day_groups/category. xsl

o  Статьи

Новости

Лента новостей

news/rubric. xsl

·  Структурные подразделения

Структура

Страница контента

content/content. xsl

o  Статьи

Новости

Лента новостей

news/rubric. xsl

Коллектив

Структура

Страница контента

content/content. xsl

·  Статьи

Новости

Лента новостей

news/rubric. xsl

·  Педагогический коллектив

Каталог

Раздел каталога

catalog/pedagogical_collective/category. xsl

o  Статьи

Новости

Лента новостей

news/rubric. xsl

o  Статистика

Каталог

Объекты каталога

catalog/pedagogical_collective/getObjectsList. xsl

·  Профсоюзная организация

Структура

Страница контента

content/content. xsl

o  Статьи

Новости

Лента новостей

news/rubric. xsl

Условия

Структура

Страница контента

content/content. xsl

·  Статьи

Новости

Лента новостей

news/rubric. xsl

·  Режим работы

Структура

Страница контента

content/content. xsl

o  Статьи

Новости

Лента новостей

news/rubric. xsl

·  Учебные периоды

Каталог

Раздел каталога

catalog/education_periods/category. xsl

o  Статьи

Новости

Лента новостей

news/rubric. xsl

·  Расписание звонков

Каталог

Раздел каталога

catalog/bell_shedule/category. xsl

o  Статьи

Новости

Лента новостей

news/rubric. xsl

·  Питание

Каталог

Раздел каталога

catalog/food/category. xsl

o  Статьи

Новости

Лента новостей

news/rubric. xsl

·  Безопасность

Структура

Страница контента

content/content. xsl

o  Статьи

Новости

Лента новостей

news/rubric. xsl

·  Материально-технический ресурс

Структура

Страница контента

content/content. xsl

o  Статьи

Новости

Лента новостей

news/rubric. xsl

Финансирование

Структура

Страница контента

content/content. xsl

·  Статьи

Новости

Лента новостей

news/rubric. xsl

·  Бюджетное финансирование

Структура

Страница контента

content/content. xsl

o  Статьи

Новости

Лента новостей

news/rubric. xsl

·  Платные услуги

Каталог

Раздел каталога

catalog/paid_services/category. xsl

o  Статьи

Новости

Лента новостей

news/rubric. xsl

·  Внебюджетные ресурсы

Структура

Страница контента

content/content. xsl

o  Статьи

Новости

Лента новостей

news/rubric. xsl

Документы

Структура

Страница контента

content/content. xsl

·  Правоустанавливающие документы

Структура

Страница контента

content/content. xsl

·  Иные документы

Структура

Страница контента

content/content. xsl

Е-сервисы

Структура

Страница контента

content/content. xsl

·  Информационные системы

Каталог

Раздел каталога

catalog/information_systems/category. xsl

·  Формы документов

Каталог

Раздел каталога

catalog/document_forms/category. xsl

·  Заявки и обращения

Каталог

Раздел каталога

catalog/application/category. xsl

·  Формы

Структура

Страница контента

content/content. xsl

o  Обратная связь

Обратная связь

Страница с формой обратной связи

webforms/common. xsl

·  Домашние задания

Структура

Страница контента

content/content. xsl

Обращение руководителя

Структура

Страница контента

content/content. xsl

Набор в образовательное учреждение и условия приема

Структура

Страница контента

content/content. xsl

Заметили ошибку?

Обратная связь

Страница с формой обратной связи

webforms/common. xsl

Шаблоны подразделов

Каталог

Раздел каталога

Личный кабинет модератора

Структура

Страница контента

content/moredator. xsl

Публичный доклад руководителя

Каталог

Раздел каталога

catalog/public_report/category. xsl


Физическая структура: перечень файлов и кастомных скриптов

Кастомные скрипты хранятся в файлах /classes/modules/название-модуля/_custom. php

НЕ нашли? Не то? Что вы ищете?

Модуль/скрипт

Назначение

Каталог (catalog)

·  getObjectsLista

Вывод списка объектов каталога с возможностью фильтрации по учебному году по-умолчанию,
с возможностью вывода за все года.

·  __custom_adm. php/onCreateElement

Обработчик события «Создание элемента каталога».

Копирует структуру подразделов раздела «Классы» из раздела-шаблона при создании нового класса

Шаблоны данных (data)

·  get_guides

Получение списка всех справочников для редактирования модератором

·  get_guide_items

Получение списка всех значений определенного справочника для редактирования модератором

FAQ (faq)

·  categorya

Вывод списка вопросов из категории

Шаблоны хранятся в папке xsltTpls, структура файлов шаблонов описана в документации UMI. CMS по реализации шаблонов для UMI. Cloud

Файлы стилей (css) хранятся в папке /css

Файл

Назначение

templates/style1.css

Общее оформление сайта

templates/moderator.css

Общее оформление сайта

siteskins/skin1.css

siteskins/skin4.css

Различные варианты оформления сайта для разных типов ОУ (описание только отличающихся элементов оформления).


Файлы JavaScript хранятся в папке /js

Файл

Назначение

lightbox. js

«Всплывающее» окно для фотогалереи

main.js

Функционал «Читать далее»,

Функционал «Дерево документов»

menu. js

Выплывающее меню


Краткое описание API для получения табличных данных сайта для последующей агрегации

Получить табличные данные сайта для агрегации можно средствами протокола UDATA UMI. CMS.

Пример:

Получаем список классов сайта:

http://dsovp2097new. *****/udata/catalog/getObjectsList/notemplate/(/activity/preschool_groups/)

Далее с помощью протокола UPAGE получаем данные каждого отдельного класса:

http://dsovp2097new. *****/upage/3787

Краткое описание API для получения значений атрибутов для атрибутивного поиска

Все значения атрибутов хранятся в разделе /main/siteinfo/, получить их можно по протоколу UPAGE.

Пример:

http://dsovp2097new. *****/upage/(/main/siteinfo/)

см. group[@name=’key_search_attributes’] и group[@name=’search_attributes’]

Инструкции

Обновление шаблона на контроллере

Обновление шаблона на контроллере производится путем закачки на сервер в папку шаблона нужных файлов:

·  Таблицы стилей css

·  Шаблоны оформления xsl

·  JavaScript js

·  Кастомные макросы _custom. php, permissions. custom. php

После закачки файлов с локального компьютера может потребоваться установка прав доступа на вновь закачанные файлы.

Права доступа можно установить через SSH командой CHMOD сразу на все папки, включая вложенные файлы.

Создание подраздела, существующего в шаблоне, на конкретном сайте ОУ

Новый раздел на конкретном сайте ОУ может быть создан через административную панель этого сайта.

1. Обычный текстовый раздел

В модуле «Структура» создаем новый раздел в структуре сайта, определяем все необходимые параметры (Название, отображение в меню, отображение подменю и проч.)

2. Раздел со статьями

Создаем обычный раздел (см. п. 1),

далее из раздела «Шаблоны подразделов» копируем в него раздел «Статьи». Изменяем псевдостатический адрес вновь созданного раздела «Статьи» на articles.

3. Раздел с использованием модулей (каталог, файловая система, FAQ)

Создаем раздел с использованием соответствующего модуля, определяем:

·  Тип данных – как на сайте-шаблоне,

·  Псевдостатический адрес – как на сайте-шаблоне.

4. Новый раздел с использованием модулей, которого нет на сайте-шаблоне

Рассмотрим на примере создания раздела, аналогичного разделу «Классы»:

1.  Создаем раздел в структуре сайта, с нужной нам структурой (либо просто копируем раздел «Классы» и переименовываем)

2.  Создаем подраздел, соответствующий одному классу, в разделе «Шаблоны подразделов» (либо просто копируем раздел «Класс» и переименовываем)

3.  В файле /classes/modules/catalog/__custom_adm. php в функции onCreateElement добавляем блок, аналогичный блоку для «Классов»:

if($parentPath=='/activity/classes/'){

$sourceParentId=$hierarchy->getIdByPath('/templates/class/');

$sourceChildsId=$hierarchy->getChilds($sourceParentId);

foreach ($sourceChildsId as $sourceId=>$childs){

$hierarchy->cloneElement($sourceId,$element_id, true);

}

}

меняем псевдостатические адреса, все остальное – аналогично.

4.  В структуре xslt-шаблонов создаем шаблоны для раздела:

·  В папке xsltTpls/modules/catalog/ создаем папку для нового раздела (либо просто копируем classes и переименовываем.

·  В файле xsltTpls/modules/catalog/новый-раздел/category. xsl прописываем путь к вновь созданному разделу.

·  В файле xsltTpls/modules/catalog/__common. xsl добавляем строку для импорта вновь созданных шаблонов (или просто копируем строку для классов и меняем ее).

Тексты разработанных скриптов

Внимание! Скрипты передаются «как есть», без гарантий их корректной работы и отсутствия каких-либо ошибок!

Для миграции

Скрипт миграции реализован в виде двух макросов модуля «Шаблоны данных (data)»:

mass_migration()

Скрипт, выполняющий запуск миграции для нескольких сайтов.

Перечень сайтов для миграции описывается в массиве $urls, где ‘from’ – это новый сайт, а 'to' – это старый сайт.

migration()

Миграция одного сайта.

Перечень разделов для миграции, а также формат данных в разделах определяются в массиве $parts_config.

Пример изменения одного значения поля типа «Множественный выбор из справочника» на другое


$weekdays=Array(
'27554'=>'27512',
'27793'=>'27513',
'27794'=>'27514',
'27795'=>'27515',
'27796'=>'27516',
'27797'=>'27517',
'27798'=>'27518',
);

$pages=new selector('pages');
$pages->where('hierarchy')->page('/about/contacts/')->childs();

foreach ($pages as $page){
  $days=$page->getValue('weekday');
  if(is_array($days)){
    foreach ($days as $key=>$value){
      if(isset($weekdays[$value])){
        $days[$key]=$weekdays[$value];
      }
    }
  $page->setValue('weekday',$days);
  $page->commit();
  }
}

Пример изменения типа атрибута (было строка, стало текстом)


$fieldsCollection = umiFieldsCollection::getInstance();
$fieldId=9232;//description в Услугах
$field = $fieldsCollection->getField($fieldId);
$field->setFieldTypeId(16);//Текст