Мы продемонстрируем процесс создания собственной сущности «Инвестиционный проект» в Битрикс24.
Процесс будет разделён на несколько частей:
- Список инвестиционных проектов.
- Фильтр для main.ui.grid.
- Детальная страница инвестиционного проекта.
- REST API для получения инвестиционного проекта.
- Улучшенное открытие инвестиционного проекта в слайдере.
- Сохранение и отображение истории изменения инвестиционного проекта.
Общий план реализации такой:
- Создать класс, описывающий таблицу сущности в БД.
- Поля таблицы:
- id - первичный ключ
- Наименование - строка
- Дата создания - дата/время
- Предполагаемая дата окончания - дата/время
- Реальная дата окончания - дата/время
- Описание - текст
- Ответственный - число (идентификатор пользователя)
- Комментарий - текст
- Доход - строка
- Создать класс, описывающий таблицу, хранящую список изменений по инвестпроектам:
- Поля таблицы:
- id - первичный ключ
- кто изменил - число (идентификатор пользователя)
- поле - строка
- предыдущее значение - строка
- новое значение - строка
- дата - дата/время
- Поля таблицы:
- Добавить миграции для создания таблиц инвестпроектов и истории:
- Создавать таблицы через sql-команды;
- Используя ORM, разработать функции для выполнения CRUD операций над инвестпроектами:
- Получение списка;
- Получение конкретной записи;
- Создание новой записи;
- Обновление существующей записи.
- Разработать аналогичные функции для истории инвестпроектов.
- Создать на портале раздел для инвестпроектов.
- Создать комплексный компонент для маршрутизации запросов.
- Создать компонент списка инвестпроектов:
- Компонент должен получать данные из соответствующих таблиц;
- Для получения данных необходимо использовать разработанные ранее функции;
- Список должен отображаться с помощью компонента bitrix:main.ui.grid.
- Добавить фильтр:
- Доступные поля:
- Название
- Дата создания
- Ответственный
- Планируемая дата окончания
- Реальная дата окончания
- Доступные поля:
- Добавить постраничную навигацию - 20 элементов на странице.
- С помощью компонента bitrix:ui.form создать компонент карточки редактирования инвестпроекта:
- Карточка должна открываться в слайдере;
- В карточке должно быть:
- Основная информация.
- История редактирования выбранного инвестпроекта.
- Создание REST API для получения данных об инвестиционных проектов:
- Создать метод для получения списка данных.
- Создать метод для получения одного инвестпроекта.
Список ресурсов
Материалы для практики
- Исходный код (.zip)