Приложение «Списки» позволяет создавать списки для хранения данных разной структуры, и использовать эти данные в шаблонах страниц сайта. С его помощью Вы получаете возможность легко и удобно управлять любыми наборами данных. Ярким примером может служить ротатор баннеров на главной странице многих сайтов. Для его реализации обычно требуется использовать не совсем удобные инструменты, сильно ограничивающие возможности разработчиков и усложняющие работу контент-менеджеров. Если речь идёт об обычных картинках, то с задачей вполне справляется приложение «Фото». Но что если потребуется сделать картинки со ссылками? А если формировать каждый баннер из нескольких картинок (для экранов разной ширины)? Или, допустим, потребуется добавить небольшой фрагмент текста с html-разметкой, как тогда быть? «Списки» легко с этим справятся! Каждый список представляет собой группу элементов, количество которых не ограничено. Каждый элемент, в этой группе, может содержать множество ячеек-полей для хранения информации разных типов (текст, html-код, изображение, и т.д.). Для простоты, Вы можете думать о списках, как о таблицах, содержащих в каждой строке различные значения, но при этом в каждом столбце, значения будут однотипными.
Выше я писал о ротаторе баннеров. Если продолжить рассматривать этот пример, то список для хранения информации об отдельных баннерах, будет содержать примерно такие поля:
- Поле для загрузки картинки шириной 1980 px
- Поле для загрузки картинки шириной 1200 px
- Поле для загрузки картинки шириной 992 px
- Поле для загрузки картинки шириной 768 px
- Поле для загрузки картинки шириной 576 px
- Поле для выбора страницы на которую будет вести ссылка. К примеру выпадающий список, который берёт варианты значений из базы данных, и выборка ограничена таким образом, что выводится только активные категории верхнего уровня
- Визуальный редактор для работы с текстовым блоком
Создание списков
Для хранения данных можно создать не ограниченное количество списков с необходимыми наборами полей. В процессе создания нового списка, Вам потребуется самостоятельно указать какие поля и каких типов будут формировать его элементы-строки. Во время настройки каждого отдельного поля, потребуется указать подпись для него (она в дальнейшем будет выводиться в форме добавления элементов), ключ для доступа к данным, хранящимся в этом поле, тип поля, и, при необходимости, параметры специфические для выбранного типа. Кроме того, можно отключить видимость поля в таблице на странице с элементами списка, это может быть полезно если в элементах очень много полей.
Начиная с версии 1.1.0, появилась возможность создавать и использовать типы списков, для группировки списков. Вместе с полями для связи списков с элементами других списков, это позволяет удобно и просто создавать многоуровневые древовидные структуры. Пример создания многоуровневого структурированного прайс-листа, с использованием типов списков, и их связей с элементами, описан на вкладке "Примеры использования".
В версии 1.2.0, была добавлена возможность выполнять экспорт и импорт структуры списков. Это позволяет легко переносить наработки на новые проекты, или же создавать копии списков, не теряя времени на ручное добавление полей.
Доступные виды полей:
- Текстовое поле (одна строка);
- Текстовая область (много строк);
- Файл — любой тип файла;
- Изображение — изображение в формате jpeg или png. Есть возможность кадрировать изображение в процессе его загрузки;
- Переключатель — имеет два состояния: 1 — включен и 0 — выключен;
- Выпадающий список с одиночным выбором;
- Выпадающий список с множественным выбором (при использовании значений из поля такого типа, необходимо помнить что они доступны в виде массива);
- Визуальный html редактор;
- Связь с другим списком — позволяет создать связь с другим списком, указанного, при создании поля, типа (добавлен в версии 1.1.0)
Для выпадающих списков можно настроить источник данных для получения доступных значений. Есть 3 варианта:
- Простое перечисление — подпись==значение (каждый вариант с новой строки);
- Массив JSON — закодированный в json массив объектов со свойствами caption и value. Например: [{"caption":"подпись1","value":"значение1"},{"caption":"подпись2","value":"значение2"}];
- База данных — выборка из таблицы базы данных сайта. Для настройки этого источника, потребуется указать дополнительные параметры:
- Имя таблицы – когда этот параметр будет указан, в полях «Заголовок» и «Значение» доступные варианты автоматически изменятся на имена столбцов указанной таблицы. Если этого не произошло, проверьте правильно ли указано имя таблицы. В приведённом выше примере списка для баннеров, в поле с именем таблицы было бы указано shop_category;
- Заголовок — столбец таблицы, значения которого будут использоваться в качестве подписей для доступных вариантов. В нашем примере, в качестве этого параметра использовалось бы поле name;
- Значение — столбец таблицы, значения которого будет использоваться в качестве значений (value) доступных вариантов. В примере с баннерами, в качестве этого параметра мы бы выбрали full_url;
- Where — критерии выборки в формате поле=значение&поле2=значение. Если потребуется перечислить несколько значений одного поля, то нужно перечислить их через запятую. К примеру, если указать «field=1&field2=1,2,3», то будут выбраны записи у которых значение поля field равны 1, и при этом значения поля field2 равны 1, или 2, или 3. В примере с баннерами, было бы указано status=1&depth=0 (только активные категории верхнего уровня);
Изменение структуры, и удаление списков
На удаление и изменение списков, не имеющих элементов, никаких ограничений не накладывается. Но если в списке есть элементы, то по прежнему можно удалять и добавлять поля, и менять подписи к ним. При этом, нельзя менять ключи полей, их типы, и удалять сам список.
При изменении списков, изменении элементов списков, и создании новых элементов, не забывайте нажать кнопку «Сохранить», иначе изменения не сохранятся.