Сегодня мы рады официально объявить о выпуске бета-версии Strapi .16. Этот выпуск содержит множество исправлений ошибок, все они посвящены улучшению опыта разработчиков при использовании Strapi, но, прежде всего, он содержит новую очень востребованную функцию.

В дорожной карте более 180 пользователей прислали информацию о своих примерах использования и о том, насколько важна для них эта функция.

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

Вот почему вы тоже должны быть в восторге!

Гибкость в структуре данных

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

Как разработчик, вы сможете предварительно настроить группы для повторного использования в вашем проекте. Как контент-менеджер, вы сможете динамически и быстро создавать страницы, используя предварительно настроенные группы.

Давайте рассмотрим возможности, предлагаемые этой новой функцией.

Новый способ создания богатых макетов

Вы можете быстро создать свою группу с помощью Content Type Builder. В представлении списка групп вам просто нужно нажать «Добавить группу», чтобы начать создание новой группы, задав имя группы и выбрав поля, которые вы хотите добавить в свою группу.

Весь процесс выполняется в Content Type Builder.

Добавить группу к типу контента также очень просто.

Поле "Группа" - это поле внутри типа контента. После создания группы вы можете добавить ее к своему типу контента.

Вы также можете настроить параметры и сделать их повторяемыми.
Таким образом, вы сможете реплицировать поле в Content Manager.

Настройте интерфейс в соответствии со своими потребностями

В Менеджере контента у групп есть специальное пространство на вкладке рядом с типами контента. Находясь в Content Manager, в представлении «Группа» вы сможете изменить порядок расположения вашей группы простым перетаскиванием ваших полей.

FoodAdvisor - Настройка часов работы

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

У каждого ресторана, показанного на FoodAdvisor, есть отдельная страница, на которой мы отображаем информацию о часах работы, деталях и местонахождении. Мы будем использовать функцию повторяющихся групп для часов работы и превратить их с простого HTML в повторяющиеся группы.

Давайте начнем!

Сначала нам нужно создать группу: Группа часов работы. Структура группы представлена ​​ниже.

Название группы - «Часы работы»

Структура поля

  • «Интервал_дня» (строка) обязателен
  • «Open_hour» (строка) необязательно
  • «Закрытие_часа» (строка) необязательно

После этой модификации новая структура Content Type Restaurant будет:

Название типа контента - «Ресторан»

Структура полей

  • «Обложка» (СМИ)
  • «Имя» (строка)
  • «Описание» (текст)
  • «Адрес» (строка)
  • «Сайт» (строка)
  • «Телефон» (строка)
  • «Цена» (перечисление)
  • «Район» (перечисление)
  • «Обзор» (отношение)
  • «Категория» (отношение)
  • «Open_hours» (текст)
  • «Open_hours» (группа)

В группе «Opening_hours»:

  • «интервал_дня» (строка) обязательно
  • «час_открытия» (строка) необязательно
  • «закрытие_часа» (строка) необязательно

Данные, заключенные в текущее текстовое поле open_hours, выглядят следующим образом:

<li><p>Tue - Thu</p><p>12:00 PM - 10:30 PM</p></li>
<li><p>Fri - Sat</p><p>12:00 PM - 11:00 PM</p></li>

При переключении этого текста на повторяющуюся группу он будет структурирован следующим образом:

Entry #1 (of the opening_hours repeatable group field)
    day_interval: "Sun"
    opening_hour: "12:00 PM"
    closing_hour: "10:30 PM"
Entry #2
    day_interval: "Tue-Fri"
    opening_hour: "12:00 PM"
    closing_hour: "11:00 PM"

Вот вид полей Часы работы в Content Manager:

А вот так API выглядит в REST и в GraphQL:

Изменения в структуре данных также влияют на интерфейс. HTML был написан в административной панели Strapi.

Ответ JSON, полученный интерфейсом, не будет таким же. Внешний интерфейс должен будет перебирать массив «open_hours» вместо того, чтобы вставлять HTML в том виде, в каком он есть в DOM. Затем лицевая сторона автоматически создаст теги li и p.

Перейти на бета-версию 16

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

С чего начать

Если вы новичок в Strapi, попробуйте!

Взгляните на руководство Приступая к работе, чтобы начать работу, или начните работу со следующей командной строкой:

yarn create strapi-app my-app --quickstart

Быть вовлечены

Делать вклад!

Участие в проекте с открытым исходным кодом может быть страшным, если вы никогда не делали этого раньше, и это не обязательно включает кодирование.

Даже если вам нравится писать код, другие виды участия - отличный способ поучаствовать в проекте и познакомиться с другими членами сообщества. Построение этих отношений даст вам возможность работать над разными частями проекта. https://opensource.guide

Например, мы всегда открыты для соответствующих гостевых сообщений от разработчиков с потрясающим контентом, которыми они могут поделиться!

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

Спасибо сообществу

Strapi - продукт более 200 коммиттеров сообщества.
Спасибо всем бета-тестерам, которые помогли нам исправить этот выпуск! Мы делаем все возможное, чтобы найти и уничтожить все ошибки, которые мы обнаруживаем, до запуска, но лучший QA всегда исходят от проницательных тестировщиков, которые не хотят сдаваться. Спасибо.