Перейти к основному содержимому

Список

Как представить ряд связанных элементов — товаров, услуг, новостей и так далее.

Введение​

Список служит для представления ряда связанных элементов — товаров, услуг, ссылок, новостей и так далее. Каждый Список имеет собственный заголовок/вводный контент и группирует несколько Элементов, управляемых отдельно в бэк-офисе (Список > Элемент).

Он следует тому же общему для всех компонентов механизму, описанному в Обзоре и Типах компонентов.

Поля списка​

Помимо общих полей (Тип, Порядок, Режим редактирования, Инвертировать фон, Действия), у Списка есть:

ПолеОписание
Заголовок (title)Заголовок списка.
Содержимое (content / html_content)Вводный текст списка.
Изображение (image)Изображение, связанное с самим списком (не с элементами).
Alt-текст изображения (image_alt)Альтернативный текст изображения.
Заголовок изображения (image_title)Атрибут title изображения.

Элементы​

Каждый элемент принадлежит Списку (page_listing_id) и имеет собственные поля:

ПолеОписание
Заголовок (title)Заголовок элемента.
Содержимое (content / html_content)Текст элемента.
Изображение (image)Изображение элемента.
URL (link)Ссылка элемента — куда переходит пользователь при клике.
Порядок (sorter)Позиция элемента внутри списка.

Обрати внимание, что компонент Item не имеет собственного поля Тип — он наследует тип Списка, к которому принадлежит: React-компонент Списка передаёт свой type каждому элементу при его рендеринге.

Структура рендеринга​

В отличие от Баннера и Контента, где каждый тип — это независимая папка внутри компонента, в Списке компонент, который рендерит элементы (Item), находится внутри папки типа:

website/src/components/Listing/
├── index.jsx # маршрутизатор: выбирает тип списка
└── Default/
├── index.jsx # макет списка, рендерит <Item />
├── info.json
├── config.json
└── Item/
└── index.jsx # как каждый элемент отображается для этого типа

Это имеет смысл, потому что способ представления элемента (сетка, список, карточки...) обычно напрямую зависит от макета списка — поэтому Item каждого типа можно настраивать вместе с самим типом, а не делать его универсальным компонентом, общим для всех типов.

Доступные типы​

Сейчас существует только тип Стандартный (Default). Чтобы создать новый тип Списка (с собственным Item), следуйте тому же процессу, описанному в Типах компонентов, не забыв включить подпапку Item/ в новый тип.

Следующий шаг​

Переходите к Слайдеру.