Идея: Реализовать сайт табельного учета рабочих дней сотрудников.
Тестовый адрес: http://drupal.srv-t.pp.ua/otdely
Реализовано:
- Дата рождения
- Отдел (таксономия)
- Страна (плагином)
- Ф.И.О.
- Фото сотрудника
- Был на работе (обрабатывается плагином)
4. Для таксономии "Отдел" создано представление (Отделы)
- Главная
- About us
Реализовано:
- cконфигурирован twig
- подключены свои стили
- использовано два хука (доавбление данных и перегрузка темплейта для меню)
- перегружены темплейты:
- корневой
- отдельно для страниц
- отдельно для главной
- для своего меню
- для нод
- добавлена своя настройка темы, со значением по умолчанию
Цель модуля, оформить вывод дат посещений текущего месяца
В модуле реализовано:
- свой темплейт через хук
- подключены стили
- реализован свой хух изменения даты
В модуле реализовано:
Запрос GET: http://drupal.srv-t.pp.ua/rc-rest/get.json?nid=2
где nid - id ноды сотрудника
Ответ:
{
"success": true,
"work_days": [
"2019-03-01",
"2019-03-02",
"2019-03-03",
"2019-03-04",
"2019-03-08"
]
}
в случае не корректного ИД или если нода не содержит поля с датами
{
"success": false,
"error": "No id or wrong type"
}
==============================================
Запрос POST: http://drupal.srv-t.pp.ua/rc-rest/post.json
В заголовке указываем: Content-Type: application/json
Без заголовка, данные не добавятся
В теле:
- обязательный параметр nid - id ноды
- не обязательный массив dates - даты которые добавляем, в случае отсутвия, добавит сегодняшнюю
{
"nid": "1",
"dates":[
"2019-03-01",
"2019-03-02",
"2019-03-03",
"2019-03-04",
"2019-03-08"
]
}
в ответ получим схожий JSON с GET-запросом:
{
"work_days": [
"2019-03-11",
"2019-03-01",
"2019-03-02",
"2019-03-03",
"2019-03-04",
"2019-03-08",
"2019-03-01",
"2019-03-02",
"2019-03-03",
"2019-03-04",
"2019-03-08"
],
"success": true
}
как видно из ответа, данные не проверяются на дубли, так же не реализована ацтентификация.
В случае не корректного ИД или если нода не содержит поля с датами
{
"success": false,
"error": "No id or wrong type"
}
http://drupal.srv-t.pp.ua/otdely
- ITC - плагин добавляет поле выпадающий список со страной
- intro_config - плагин управляет настройкой темы
- pages - плагин выводит свой контент в своем шаблоне
- dummy - плагин добавляет/удаляет/модицирует сообщения, демонструю работу с хуками как системными так и своими