Документация к шаблону сайтов образовательных учреждений
Описание технического решения
Логическая структура: перечень и описание подразделов, включая статистические элементы
Пути к файлам шаблонов указаны относительно каталога 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);//Текст


