Мы используем файлы cookie для улучшения работы сайта. Вы можете принять все cookies или настроить предпочтения. Подробнее в нашей Политике использования cookie-файлов.
Управление контентом
Подробное руководство по работе со списками данных в административной панели.
Что такое списки?
Списки (Lists) - это таблицы с данными сайта, которые управляются через админку:
- Products - товары каталога
- News - новости и статьи
- Gallery - фотогалерея
- Contacts - контактные данные
- Brands - бренды и производители
- Любые кастомные таблицы
Интерфейс списка
Элементы интерфейса
-
Панель управления
- Кнопка Добавить - создать новую запись
- Поле Поиск - найти запись по названию/ID
- Фильтры - отбор по параметрам
-
Таблица данных
- Чекбоксы для множественного выбора
- Колонки с данными
- Кнопки действий (редактировать, удалить)
-
Пагинация
- Переключение страниц
- Выбор количества записей на странице
Действия с записями
| Иконка | Действие | Описание |
|---|---|---|
| ✏️ | Редактировать | Открыть форму редактирования |
| 🗑️ | Удалить | Удалить запись (с подтверждением) |
| 👁️ | Просмотр | Предпросмотр на сайте |
| 📋 | Копировать | Создать копию записи |
Создание записи
Шаг 1: Открыть форму
- Перейдите в нужный список (например, Списки → Products)
- Нажмите кнопку Добавить
Шаг 2: Заполнить поля
Обязательные поля
Отмечены звездочкой * - должны быть заполнены:
Name* - Название (обязательно)
Description - Описание (необязательно)
Типы полей
Система поддерживает следующие типы полей (определяются в таблице s_ConfigFields):
Текстовые поля
text - обычное текстовое поле
Примеры использования:
- Название раздела (s_Navigator.Name)
- Имя пользователя (s_Users.Name)
- Заголовок товара (Products.Name)
latin - текстовое поле с ограничением на латиницу
Используется для технических идентификаторов:
- Имя таблицы (s_Config.TableName)
- Алиас URL (Products.Alias)
- Имя поля (s_ConfigFields.Field)
email - поле для email с валидацией
Пример: s_Users.Email
password - поле для пароля
При отображении показывается как текстовое поле
Пример: s_Users.Password
Особенности:
- Новый пароль автоматически хэшируется (password_hash) при сохранении
- При редактировании записи старый хэш не перезаписывается,
если поле не было изменено пользователем
Числовые поля
int - целое число
Примеры:
- ID записи (Products.Id)
- Приоритет сортировки (s_Navigator.Priority)
- Количество (Products.Quantity)
digit - число с дробной частью
Примеры:
- Цена (Products.Price: 1500.50)
- Вес (Products.WeightPack: 2.5)
- Сумма заказа (Orders.OSum)
Дата и время
date - дата и время
Формат: YYYY-MM-DD HH:MM:SS
Отображается календарь для удобного выбора даты
Примеры:
- Дата публикации новости (News.NDate)
- Дата создания раздела (s_Navigator.Date)
- Дата авторизации (s_Users.AuthDate)
Логические значения
flag - чекбокс (0 или 1)
Примеры:
☑ IsHidden - Скрыть запись
☑ IsActive - Активность
☑ Required - Обязательное для заполнения
☑ IsNew - Новинка
☑ IsHit - Хит продаж
Многострочные текстовые поля
area - текстовая область (textarea)
Используется для:
- Анонсов (News.Announce)
- Описаний (Products.Descr)
- Мета-тегов (s_Navigator.MetaDescription)
- JSON-данных (Orders.JData)
Поддерживает:
- Многострочный текст
- HTML-разметку (с визуальным редактором TinyMCE)
- Большие объемы текста
Визуальный редактор включается кликом по ссылке "визуальный редактор"
под полем и позволяет форматировать текст без знания HTML
blob - большая текстовая область
Для очень больших объемов данных
Используется реже, чем area
Выпадающие списки
select::TableName::FieldName - выбор одного значения
Форматы:
- select::TableName::DisplayField
- select::TableName::DisplayField::WhereCondition
- select::TableName::DisplayField::WhereCondition::OrderField
Примеры:
- select::s_Permissions::Name (выбор роли пользователя)
- select::s_NGroups::Name (выбор группы навигации)
- select::OrdersStatuses::Name (выбор статуса заказа)
- select::s_Navigator::Name::IsHidden=0 (только видимые разделы)
select_multi::TableName::FieldName - множественный выбор
Аналогично select, но можно выбрать несколько значений
Примеры:
- select_multi::s_Navigator::Name (выбор нескольких разделов)
- select_multi::s_ConfigExtensions::Name (выбор расширений)
dbtable / dbtable_multi - выбор из связанной таблицы
Альтернативный формат для select
Удаленный выбор через API
remote_multi::TableName::FieldName::Conditions - множественный выбор через AJAX
Для больших списков с поиском и подгрузкой данных
Пример:
- remote_multi::Products::Name::IsHidden in (0,1)
Особенности:
- Использует Select2
- Поиск по мере ввода
- Подгрузка порциями
Файлы и изображения
file - загрузка файлов
Примеры:
- Products.Images - изображения товара
- s_Navigator.Files - файлы раздела
- News.Images - изображение новости
Возможности:
- Множественная загрузка
- Drag & Drop
- Автоматическое создание превью
- Сортировка файлов перетаскиванием
Специальные типы
minitable::Field1;Field2;Field3 - встроенная таблица
Для редактирования табличных данных внутри формы
Формат: minitable::Заголовок1;Заголовок2;Заголовок3
Примеры:
- minitable::Цвет;Размер;SKU;Остатки (для вариаций товара)
- minitable::Field1;Field2
Особенности:
- Добавление/удаление строк
- Редактирование ячеек inline
- Сохранение в JSON-формате
properties - динамические свойства
Связь с таблицей s_Properties и s_PropertiesGroups
Позволяет добавлять гибкие характеристики:
- Выбор группы свойств
- Автоматическое отображение полей группы
- Разные типы свойств (select, text-multi)
- Добавление новых опций на лету
Используется для:
- Характеристик товаров
- Настроек расширений
- Гибких конфигураций
Шаг 3: Загрузить файлы
- Найдите блок Файлы в форме
- Нажмите Добавить файлы
- Дождитесь завершения загрузки
Шаг 4: Сохранить
Нажмите кнопку Сохранить вверху или внизу формы. Для удобства используйте Ctrl+S.
Редактирование записи
Одиночное редактирование
- В списке найдите нужную запись
- Нажмите иконку ✏️ Редактировать
- Измените данные в форме
- Нажмите Сохранить
Быстрое редактирование (inline)
Некоторые поля можно редактировать прямо в таблице:
- Дважды кликните по ячейке таблицы
- Измените значение
- Нажмите Enter или Ctrl+S
- Изменения сохранятся автоматически
Удаление записей
Удалить одну запись
- Нажмите иконку 🗑️ у записи
- Подтвердите удаление в диалоге
- Запись будет удалена безвозвратно
⚠️ Внимание: Удаление необратимо! Создавайте резервные копии БД перед массовым удалением.
Поиск и фильтрация
Простой поиск
В поле поиска введите запрос:
Поиск по:
- Названию (Name)
- ID записи
- Артикулу (Article)
- Другим текстовым полям
Примеры:
Смартфон → найдет все товары со словом "смартфон"
ART-12345 → найдет товар с артикулом ART-12345
15 → найдет запись с ID=15
Фильтры
Используйте фильтры для точного отбора:
Фильтр по статусу:
Активные: IsActive = 1
Неактивные: IsActive = 0
Фильтр по категории:
Выберите категорию из списка
Фильтр по дате:
С 01.01.2025 по 31.12.2025
Сортировка
Кликните на заголовок колонки для сортировки:
- Первый клик - сортировка по возрастанию ↑
- Второй клик - сортировка по убыванию ↓
- Третий клик - сброс сортировки
Работа с файлами и изображениями
В любой список можно добавить поле с типом file - это позволяет загружать и хранить файлы, ассоциированные с конкретной записью.
Принцип работы:
- Каждый файл привязан к конкретному элементу списка
- Нет общей папки с файлами - файлы принадлежат записи
- Загруженные файлы доступны в визуальном редакторе для вставки в текст
- Ограничений на типы файлов практически нет (настраивается на уровне сервера, размер файлов и их количество при одновременной загрузке, рекомендуем 20 шт)
Загрузка файлов
Способ 1: Кнопка загрузки
- Нажмите Загрузить
- Выберите файлы в диалоге
- Дождитесь загрузки (появится прогресс-бар)
Управление файлами
Просмотр:
- Кликните по миниатюре для увеличения
Сортировка:
- Перетащите файлы для изменения порядка
- Первый файл = главное изображение (обложка)
Массовые операции с файлами:
- Нажмите ссылку "выделить" под заголовком поля
- Кликайте по файлам для их выбора (можно выбрать несколько)
- Появятся кнопки массовых действий:
- ✏️ Редактировать - изменить описание всех выделенных файлов
- 🗑️ Удалить - удалить все выделенные файлы
- Для отмены выделения нажмите "выделить" повторно
Индивидуальные действия:
- 📋 Копировать ссылку - скопировать URL файла в буфер обмена
- ✏️ Редактировать - открыть карточку файла для детальной настройки
- 🗑️ Удалить - удалить конкретный файл
Использование в редакторе:
- Загруженные файлы автоматически доступны в визуальном редакторе TinyMCE
- Можно вставлять изображения и ссылки на документы прямо в текст
Автоматическая обработка
Система автоматически создает ресайзы изображений:
- Оригинал -
/files/lists/{Table}/{filename} - Превью -
/pic/preview/files/{filename}(200x200) - Средний -
/pic/medium/files/{filename}(600x600)
Сортировка записей
Поле Priority
Большинство таблиц имеют поле Priority для ручной сортировки.
Правило: Чем больше число, тем выше в списке.
Пример:
Priority: 100 → Хит 1 (первый в списке)
Priority: 90 → Хит 2
Priority: 80 → Обычный товар 1
Priority: 70 → Обычный товар 2
Priority: 0 → Последний товар
Изменение Priority:
- Откройте запись для редактирования
- Измените поле Priority
- Сохраните
Копирование записей
Создание копии существующей записи:
- Откройте запись для редактирования
- Нажмите кнопку Копировать
- Система создаст копию с:
- Теми же данными
- Копиями всех файлов (физически дублируются на диске)
- Новым ID
- Отредактируйте скопированную запись
- Сохраните
Полезно для:
- Создания похожих товаров
- Шаблонов новостей
- Копирования настроек
Полезные советы
Горячие клавиши
- Ctrl + S или нажать Enter - сохранить форму
- Tab - переход между полями
Решение проблем
Не сохраняется запись
Причины:
- Не заполнены обязательные поля (*)
- Некорректный формат данных (например, текст в числовом поле)
- Дублирующийся уникальный ключ (URL, артикул)
Решение:
- Проверьте красные подсветки полей
- Посмотрите сообщение об ошибке
- Заполните все обязательные поля
Не загружается файл
Причины:
- Слишком большой размер (лимит PHP)
- Недопустимый формат файла
- Недостаточно места на диске
Решение:
- Проверьте размер файла (максимум обычно 8-16 МБ)
- Убедитесь, что формат разрешен
- Оптимизируйте изображение
Пропала запись из списка
Причины:
- Установлен фильтр
- Запись на другой странице пагинации
Решение:
- Сбросьте все фильтры
- Проверьте пагинацию
- Поищите по разным полям через поиск