Налаштування модуля 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

Налаштування модуля Drupal Paragraphs для гнучкого контенту

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 днів залежно від складності верстки кожного блоку.