Настройка Paragraphs модуля Drupal для гибкого контента

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.
Разработка и обслуживание любых видов сайтов:
Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

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

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Настройка Paragraphs модуля Drupal для гибкого контента
Средняя
~2-3 рабочих дня
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    874
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    851

Настройка Paragraphs модуля Drupal для гибкого контента

Paragraphs — один из самых популярных модулей Drupal. Позволяет строить страницы из переиспользуемых блоков (параграфов): Hero-секция, текст с изображением, карточки, цитата, таблица, форма. Редактор собирает страницу из параграфов как конструктор, без программирования.

Установка

composer require drupal/paragraphs
drush en paragraphs -y
drush cr

Создание типа параграфа

Структура → Типы параграфов → Добавить тип параграфа.

Пример — параграф «Hero секция»:

  • Название параграфа: Hero секция
  • Machine name: hero_section
  • Поля:
    • field_hero_title (Text, plain)
    • field_hero_subtitle (Text, plain, long)
    • field_hero_image (Image)
    • field_hero_cta_text (Text, plain)
    • field_hero_cta_url (Link)

Добавление поля Paragraphs к типу контента

Управление полями → Добавить поле → Тип: Параграф (entity reference revisions).

Настройки:

  • Количество значений: Неограничено (чтобы добавлять несколько параграфов)
  • Разрешённые типы параграфов: выбрать нужные
  • Виджет: Paragraphs Classic или Paragraphs Experimental (с drag-and-drop)

Шаблон параграфа в теме

Файл templates/paragraph/paragraph--hero-section.html.twig:

{% set classes = ['paragraph', 'paragraph--hero-section'] %}

<section{{ attributes.addClass(classes) }}>
    <div class="hero__content">
        {% if content.field_hero_title %}
            <h1 class="hero__title">{{ content.field_hero_title }}</h1>
        {% endif %}

        {% if content.field_hero_subtitle %}
            <p class="hero__subtitle">{{ content.field_hero_subtitle }}</p>
        {% endif %}

        {% if content.field_hero_cta_text and content.field_hero_cta_url %}
            <a href="{{ content.field_hero_cta_url[0]['#url'] }}" class="btn btn--primary">
                {{ content.field_hero_cta_text }}
            </a>
        {% endif %}
    </div>

    {% if content.field_hero_image %}
        <div class="hero__image">
            {{ content.field_hero_image }}
        </div>
    {% endif %}
</section>

Вложенные параграфы

Параграф может содержать дочерние параграфы. Например, «Секция с карточками» содержит несколько параграфов «Карточка»:

  1. Создать тип card с полями: заголовок, текст, иконка
  2. Создать тип cards_section с полем field_cards типа Paragraph, разрешённый тип: card
  3. Редактор добавляет секцию → внутри добавляет карточки

Настройка отображения

Управление отображением → Display Suite или Layout Builder для визуальной расстановки полей параграфа.

Paragraphs и ревизии

Paragraphs поддерживает ревизии синхронно с родительским узлом (entity reference revisions — не просто entity reference). При откате ноды — откатываются и параграфы.

Сроки

Разработка 5–8 типов параграфов с шаблонами — 3–5 дней в зависимости от сложности вёрстки каждого блока.