«> Как абзацы упрощают создание и редактирование контента в Drupal? Автор: Денис ПешкаТех Ведущий Опубликовано: 09.02.2021 Категория: Drurafy
— это функциональность, предоставляемая модулем Paragraphs, которая значительно упрощает механизмы создания и редактирования контента в Drupal. Этот модуль доступен для Drupal 7, 8 и 9. Узнайте, как воспользоваться его преимуществами.
Что такое абзацы в Drupal?
Модуль Paragraphs позволяет вам подготовить модули (параграфы), с помощью которых вы можете создавать подстраницы на веб-сайтах, созданных с использованием Drupal. Чтобы использовать абзацы, добавьте поле типа абзаца к типу или блоку контента, который предоставляется при установке модуля абзацев, а затем выберите, какие типы абзацев должны быть доступны в поле. Редактор, создающий или редактирующий контент, сможет добавлять любое количество абзацев из доступных типов и изменять их порядок в соответствии со своими предпочтениями.
Установка модуля «Абзацы» не предоставляет типы абзацев по умолчанию. Каждый тип абзаца должен быть настроен пользователем. Однако это очень интуитивно понятно: пользователь имеет полный контроль над тем, из каких полей должен состоять данный тип абзаца. Более того, он может справиться с этим полностью.
В чем преимущества использования абзацев? Простота
Работа с абзацами проста и интуитивно понятна. При использовании абзацев человеку, который создает или редактирует контент, не нужно беспокоиться о том, будет ли контент, который он создает, будет выглядеть так, как ожидалось, и не возникнет ли у него проблем в мобильной версии веб-сайта, если тип абзаца подготовлен должным образом. (в том числе стилизованные).
Конфигурация абзацев также не сложна: достаточно в несколько кликов создать тип абзаца и добавить соответствующие поля. После настройки конфигурации все, что остается сделать, это стилизовать и (необязательно) создать свой собственный шаблон. После подготовки тип абзаца будет использоваться бесчисленное количество раз.
Абзацы также позволяют выполнять различные операции, такие как ранее упомянутое создание собственного шаблона для типа абзаца, поддержка перевода и многие другие. Мы обсудим наиболее важные аспекты абзацев позже в этой статье.
Порядок
Благодаря абзацам можно существенно организовать процесс создания и редактирования контента в CMS Drupal. Без использования абзацев редакторы многократно создают контент в редакторе WYSIWYG, который включает тексты, фотографии, видео и многое другое. К сожалению, редактор WYSIWYG не всегда отображает добавленные элементы в точности так, как ожидал бы редактирующий или авторский пользователь.
Еще большие проблемы возникают при более низком разрешении экрана, например, в мобильных версиях. Пригодится изменение исходного кода в редакторе WYSIWYG. Однако это требует навыков программирования от пользователя, изменяющего контент, или поддержки разработчиков. С другой стороны, однажды настроенные абзацы являются «самодостаточными» — редактор, редактирующий контент, только заполняет поля, и контент будет отображаться в запланированном порядке. Редактору не нужны навыки программирования.
Возможность настройки
В абзацах можно создавать поля, которые не обязательно будут использоваться для отображения контента, фотографий или мультимедиа, но будут использоваться как поля конфигурации. Пользователь может выбрать, например, класс CSS или режим отображения абзаца в зависимости от подстраницы, на которой он создает или редактирует выбранный абзац. Таким образом, редактор может иметь еще больший контроль над окончательным внешним видом и компоновкой контента. Это решение намного удобнее, чем добавление кода, встроенного в исходный код редактора WYSIWYG.
Модульный
Параграфы также обеспечивают модульность, которая исключает повторение структурных элементов и блоков кода в проекте. Если одна и та же структура необходима в двух или более типах контента или блоков, например, в модуле логотипа и ссылке, достаточно создать один тип абзаца, который будет содержать оба поля (логотип, ссылку) и позволит разместить он везде, где редактор хотел бы иметь к нему доступ. Вам не нужно создавать множество одинаковых структур полей в разных местах проекта, например, в нескольких типах контента.
Возможности
Абзацы могут быть компонентами с контентом, фотографиями, многоколоночными макетами, слайдерами, видео- и аудиоплеерами, картами, формами, приложениями (созданными, например, в Vue.js или с помощью других технологий). Есть много возможностей. Вы можете определить множество типов абзацев, которые могут быть легко использованы некодерами, занимающимися управлением контентом.
Руководство по созданию абзацев Drupal для разработчиков
Итак, давайте проследим, как можно простым и базовым способом использовать преимущества абзацев в Drupal 9. Мы создадим галерею, которая будет состоять из элементов, содержащих фотографию, заголовок, текст и ссылку (внешнюю или внутреннюю). Для этого мы создадим два типа абзацев: Галерея и Элемент галереи. Как вы уже догадались, галерея будет оберткой для элементов галереи. Мы поместим абзац галереи в Content type Article, а затем создадим для него наш собственный шаблон. Конечный результат будет следующим:
1. Установите модуль Paragraphs в свой проект Drupal 9
Информацию о текущей версии модуля можно найти на его сайте. Если вы используете Composer, выполните команду:
composer require drupal/paragraphs
Хорошо знать, что модуль Paragraphs требует правильной работы модуля Entity Reference Revisions. Выполнив вышеупомянутую команду, Composer убедится, что модуль Entity Reference Revisions также установлен, конечно, в правильной версии.
2. Создайте первый тип абзаца
Чтобы создать тип абзаца, перейдите в раздел Структура 🠖 Типы абзацев 🠖 Добавить тип абзаца (/admin/структура/тип_параграфа/добавить).
Заполните все поля, как на скриншоте выше: заполните метку типа абзаца и (необязательно) значок и описание. Затем запишите тип абзаца.
3. Добавьте поля к типу абзаца
Добавление полей в тип абзаца работает так же, как добавление полей в типе контента или блоке. Создайте новые поля или выберите существующие поля из списка доступных полей. Попробуйте сопоставить структуру, показанную на скриншоте ниже: ссылка, текст, заголовок и фотография.
Здесь мы использовали модуль «Медиа» для создания поля «Фото», однако вы можете изменить этот шаг и использовать тип поля «Изображение» (или создать другие поля).
4. Создайте второй тип абзаца
На следующем шаге создайте второй тип абзаца — Галерея, который будет оболочкой для типа абзаца «Элемент галереи».
После создания второго типа абзаца список типов абзацев доступен в разделе Структура 🠖 Типы абзацев будут выглядеть следующим образом:
На следующем шаге мы создадим поле абзаца.
5. Добавьте поле абзаца
Добавить новое поле «Абзац» из категории «Справочные версии» — как показано на снимке экрана ниже.
В настройках поля определите лимит абзацев, которые можно добавить в создаваемую галерею, или установите неограниченное количество абзацев — в зависимости от того, что вам нужно. Затем выберите, какие типы абзацев должны быть доступны в типе абзаца Галерея. Выберите только элемент галереи, однако можно выбрать несколько типов абзацев.
Сохранить настройки.
6 . Добавьте абзац к типу содержимого
Выберите тип контента, в который вы хотите добавить абзац или абзацы, и добавьте в него новое поле абзаца. Тип содержания, который мы выбрали для этого руководства, — статья. Затем настройте параметры поля, как описано ранее. В разделе «Тип ссылки» выберите «Галерея» из доступных типов абзацев.
Сохраните изменения. Результат должен выглядеть так:
7. Напишите свой собственный
шаблонВозможно создание собственных (пользовательских) шаблонов для абзацев. В абзацах используются предложения по именованию файлов, например, для основных модулей Drupal. Предложения доступны от наиболее подробных до наименее подробных — режим отображения, тип абзаца, режим отображения и тип абзаца — дополнительную информацию см. В документации модуля «Абзацы». После добавления собственного шаблона необходимо перестроить кеш.
Для нашего руководства, где у абзаца Галерея есть системное имя gallery, просто создайте файл: абзац — gallery.html.twig.
8. Позаботьтесь о своих переводахАбзацы отлично подходят для перевода, но есть некоторые важные моменты, о которых следует помнить, чтобы избежать ошибок. Никогда не включайте переводы в поле Тип абзаца — такое действие не поддерживается и может вызвать ряд ошибок в будущем, связанных с добавлением или редактированием переводов, а также сохранением содержимого. Drupal предупреждает вас о неправильных настройках:
Вы также получаете предупреждение в настройках языка контента и перевода:
Есть метка «(* не поддерживается) ».
Так как же запустить перевод абзаца? Все просто — включайте переводы только для полей, не относящихся к типу Абзац. Взгляните на пример:
Мы также рекомендуем установить флажок Скрыть непереводимые поля в формах перевода в каждом абзаце, для которого включен перевод. Вы выбираете это поле в представлении «Язык содержимого и перевод» (admin/config/Regional/content-language).
Руководство по абзацам для редакторов
Редакторы, использующие уже настроенные абзацы, не отличаются от заполнения полей, добавленных к типам содержимого или блоки без использования абзацев.
Для начала добавьте абзац, нажав «Добавить» (название абзаца):
На этом этапе абзац должен быть добавленным вместе со своими полями. Завершите их: загрузите фотографию, добавьте заголовок, введите текст, который можно отформатировать, и добавьте ссылку. Как видите, внизу все еще есть кнопка «Добавить» (название абзаца) — вы можете использовать ее, чтобы добавить еще один элемент галереи.
Сохраните изменения, когда закончите редактировать содержимое.
Статьи Drupal — что еще можно сделать?
Ниже приведены другие примеры использования абзацев в Drupal 9.
Несколько типов абзацев доступны из одного поля
Как упоминалось ранее, можно сделать несколько типов абзацев доступными в одном поле.
Редактор, добавляя абзацы, может изменять их порядок, перемещая их с помощью механизма перетаскивания.
Подключение приложения Vue.js к абзацу Проблема
Представьте себе гипотетическую ситуацию: использование типа содержимого Basic странице созданы несколько подстраниц: Концерты, Вернисажи и Мастер-классы. В базе данных хранится информация о концертах, вернисаже и мастер-классах. Цель состоит в том, чтобы создать несколько поисковых систем, которые можно было бы разместить на упомянутых подстраницах, каждая из которых будет искать по очереди: концерты, вернисажи и семинары.
Решение
С использованием Vue.js была создана поисковая система, которая выполняет поиск в базе данных в соответствии с заданным типом события. Также был создан параграф Search Engine, где редактор может выбрать тип события (концерты, вернисажи или семинары) в специальном поле выбора. Приложение поисковой системы прикреплено в разделе «Поисковая система». Необязательный параметр для включения абзаца поисковой системы был добавлен к типу содержимого «Базовая страница».
Результат
Благодаря этому редактор может разместить поисковую систему на любой подстранице типа страницы Basic и имеет возможность выбрать тип поиска в поисковой системе. Поэтому на подстранице «Концерты» он размещает поисковую систему, которая ищет концерты, а на подстранице «Открытия» он размещает поисковую систему, которая ищет вакансии. Таким образом, удалось избежать создания трех почти идентичных поисковых систем (отдельных для каждого типа событий), и редактору была предоставлена возможность решить, на какой подстранице он хотел бы разместить поисковую систему. Редактор может разместить абзац поисковой системы с любой конфигурацией на любой подстранице домашней страницы и может удалить абзац или изменить его конфигурацию в любое время.
Абзацы Drupal — резюме
Абзацы — мощный инструмент, который положительно влияет на содержание опыт создания в Drupal. Он предоставляет множество гибких решений, которые позволяют создавать неограниченное количество контента. С нашим учебником это, безусловно, будет проще, особенно для начинающих веб-мастеров.
https://smartbees.pl/blog/jak-paragrafy-usprawniaja-tworzenie-i-edycje-tresci-w-drupalu