Блочный редактор и API управления контентом на Drupal

Единая модель блоков для ручного редактора и API: тексты, изображения, FAQ, подборки товаров, валидация и права доступа.

О проекте
РЕДАКТОР → API
Одна структура страницы.
Два способа работы.
01Редактор и APIТекст · галерея · FAQ
02Проверка блоковПроверка · права · сохранение
03СтраницаРучной редактор и API

Схема решения. Без данных клиента.

Платформа
Drupal 11 + Commerce
Моя работа
Архитектура и разработка
Формат
Заказная разработка
Статус
Ежедневная эксплуатация
01 / Задача

Одна модель страницы для редактора и интеграции

Когда материалы редактируют люди и внешние инструменты, две независимые модели данных усложняют поддержку. В проекте нужен был единый способ описывать структуру страницы и проверять её перед сохранением.

Технологии этого решения

Собственная разработка внутри платформы магазина.

Drupal
Drupal

Drupal 11: данные и интерфейсы

Drupal Commerce
Drupal Commerce

Каталог, заказы и процессы магазина

PHP
PHP

Сервисы и бизнес-логика

02 / Решение

Страница собирается из блоков

Редактор работает с предусмотренными типами блоков: текстом, изображениями, галереей, видео, FAQ, подборками товаров и кнопками. Порядок блоков задаёт структуру материала без отдельного шаблона для каждой страницы.

Редактору важно управлять порядком и составом содержимого, а интеграции — передавать ту же структуру в предсказуемом формате. Общая модель снижает необходимость отдельно поддерживать правила для каждого канала ввода.

03 / Решение

Общий сервис для формы и API

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

При передаче блока проверяются его тип и необходимые данные. Ошибки возвращаются инициатору запроса, чтобы неверная структура не воспринималась как успешно подготовленная страница.

Редактор и API работают с одной страницей из контентных блоков
Редактор и API используют общую структуру страницы.
04 / Решение

Условный пример страницы

Тематическая страница состоит из введения, изображения, FAQ и подборки товаров. Внешняя система может передать структуру одним запросом; при ошибке в данных API возвращает информацию для исправления. Пример не содержит содержимого клиента.

Права доступа зависят от типа материала и конкретной сущности. Поведение сохранения и ревизий определяется типом страницы; оно не объявляется одинаковым для любого содержимого Drupal.

05 / Решение

Права, черновики и границы API

Доступ проверяется по разрешениям для типов материалов и обычным правам Drupal на сущность. Поддерживаемая тематическая страница по умолчанию создаётся черновиком. API блоков не заменяет отдельное управление метатегами и не создаёт произвольные разделы каталога.

06 / Результат

Результат для контентной команды

Редакторы и интеграции получили общую структуру контента и проверяемый процесс сохранения. Подход подходит для проектов, где ручная работа и внешние системы должны работать с одними страницами.

Подробнее об услугах: разработка интернет-магазинов и разработка систем на Drupal.

07 / Вопросы

Частые вопросы

Можно ли редактировать одну страницу вручную и через API?

Да, для поддерживаемых типов материалов оба пути используют общий сервис блоков.

Как API проверяет структуру блоков и доступ?

Применяются проверки формата блоков, права для типа цели и доступ Drupal к конкретной сущности.

Можно ли создавать материалы сначала в черновике?

Да, в предусмотренном сценарии тематическая страница создаётся черновиком по умолчанию.

Чем API блоков отличается от API метатегов?

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

Следующий шаг / Ваш проект

Задачи бизнеса.
Понятные решения.

Расскажите, как устроен ваш процесс и что в нём нужно изменить. Обсудим задачу и подход к реализации.

Контакты

Если у вас есть вопросы или предложения, напишите мне на почту или в мессенджеры. Я всегда на связи и готов помочь вам!

Card

Обычно отвечаю в течение нескольких часов. Если срочно – пишите в Telegram!