Пакетные команды применяют несколько согласованных изменений к отмеченным строкам списка. Выберите товары или группы флажками, откройте Действия → Пакетная обработка, заполните нужные блоки и запустите обработку. Значение «Пропустить» или пустой блок не меняет записи.
Товары
Основная пакетная обработка меняет группу, основную и дополнительные категории, бренд и бейджи. Группа назначается или снимается; дополнительные категории и бейджи можно добавить, убрать или заменить целиком. Для бренда доступно назначение и снятие.
Отдельная команда Действия → Обработка цен предназначена только для цены по умолчанию у выбранных товаров. Она не меняет другие поля товара.
Базовая цена
- Задать цену устанавливает введённое значение, в том числе для товара без цены.
- Увеличить / уменьшить на сумму применяет фиксированное изменение к текущей цене.
- Увеличить / уменьшить на процент применяет процент к текущей цене.
- Цена при уменьшении не становится отрицательной. Если текущая цена не задана, процентное или суммовое изменение пропускает товар с сообщением; используйте «Задать цену».
Скидка и даты
Скидку можно задать как сумму или процент либо очистить. Фиксированная скидка должна быть меньше базовой цены, процентная — меньше 100%; проверка выполняется для каждого товара отдельно. Блок периода позволяет задать начало и окончание скидки или очистить обе даты. Даты вводятся в часовом поясе администратора и хранятся в UTC; пустая граница означает отсутствие ограничения с этой стороны.
Неверная комбинация цены, скидки или дат пропускает только соответствующий товар. Товары без права редактирования тоже пропускаются. Обновлённые записи получают пересчитанную итоговую цену, производные диапазоны группы и индекс витрины; кэш фасетов фильтра сбрасывается.
Категории, бренды и бейджи
В списке категорий пакетные действия позволяют менять уровень доступа, переносить записи под нового родителя того же типа, задавать показ в списках и менять сортировку/число товаров на странице. Для бейджей не показываются операции родителя и настроек списка: бейджи плоские и не имеют собственной страницы.
Группы товаров
Для отмеченных групп можно заменить основную категорию, добавлять/убирать/заменять дополнительные категории, задавать/снимать бренд и менять бейджи. Штатные команды публикации, снятия с публикации, архивации и корзины остаются в меню действий списка.
Группа хранит собственную таксономию; пакетная обработка группы не переписывает категории, бренд, бейджи, цены или остатки её товаров. Для изменения цены товаров группы перейдите к товарам списка или выберите сами товары и выполните Обработка цен.
Команды обслуживания и различия
Команды каталога находятся в Товары → Пересчёты каталога, операции с изображениями — отдельно в Товары → Операции с изображениями. Названия отражают объём и тип данных:
| Действие | Что пересчитывает | Когда запускать |
|---|---|---|
| Пересчитать выбранные товары | Правила заказа, цену и наличие выбранных товаров, их связи с категориями и поисковый индекс | После внешнего исправления данных у нескольких товаров |
| Пересчитать данные всех товаров и индекс | Те же производные данные для всего каталога порциями | Полное восстановление согласованности каталога |
| Восстановить индекс товарных категорий | Только связи/копии полей в индексе каталога и поисковый индекс | Если повреждён индекс, а значения товаров пересчитывать не нужно |
| Обновить цены товаров по датам скидок | Только товары, у которых период скидки начался или завершился; обновляет итоговую цену и её производные | Планировщик не запускался или нужно применить изменения дат сейчас |
| Пересобрать счётчики и диапазоны фильтра | Предрасчитанные фасеты и числовые границы фильтра по категориям | После массового импорта или ремонта таблиц фильтра |
| Перевести ссылки изображений на WebP | Файлы-источники сохраняются; меняются поддерживаемые ссылки в товарах, категориях и настройках | После включения WebP, чтобы перевести уже загруженные изображения |
| Подготовить изображения | Создаёт варианты размеров в кеше по контекстам плагина изображений | Чтобы заранее создать миниатюры; не меняет ссылки исходников |
| Очистить кеш изображений | Сначала показывает проверку и список производных файлов, затем удаляет только безопасные варианты кеша | После смены размеров/формата или для освобождения места |
Пересчёт всех товаров включает работу с индексом, поэтому отдельное восстановление индекса частично пересекается с ним по данным, но не повторяет пересчёт правил, цены и наличия. «Обновить цены по датам» также уже по области: планировщик обычно вызывает эту операцию автоматически.
Прогресс
Пакетные изменения и команды обслуживания показывают индикатор в общем штатном модальном окне Joomla. Название действия, полоса, счётчик и итоговые кнопки остаются в этом окне для всех операций. Пакетные изменения отправляются порциями по 25 отмеченных записей; счётчик показывает число записей из выбранного набора. Команды обслуживания выполняют последовательные порции и показывают обработанные товары, категории или записи источников из общего числа. Подготовка изображений и WebP-конвертация продолжаются автоматически порциями; очистка кеша сначала заканчивает проверку и останавливается на отдельном подтверждении. После подтверждения удаление идёт порциями. Для сканирования кеша, где итоговое число файлов неизвестно заранее, индикатор показывает найденные/обработанные файлы и продолжает работу анимированной полосой. После завершения окно показывает результат и предлагает обновить список. Пакетные изменения не подключают JavaScript на витрине.
Состояние подписано явно: «Выполняется…» с анимацией, «Завершено» с зелёной полосой и 100% либо красное «Обработка остановлена» с причиной. Окно появляется сразу после запуска, до первого ответа сервера. «Закрыть и обновить страницу» перезагружает текущий экран, чтобы показать актуальные данные; обработка к этому моменту уже закончилась. «Скрыть окно» убирает только уведомление. Очистка изображений после проверки показывает отдельное состояние «Требуется подтверждение»: кнопка «Перейти к подтверждению» открывает результаты проверки, удаление ещё не выполняется. Автоматической перезагрузки после завершения нет.
Счётчик пересборки фильтра измеряется в разделах: отдельные категории плюс общий каталог (catid = 0). Например, для 18 категорий полный итог — 19 / 19 разделов. Общий каталог пересчитывается и прибавляется к прогрессу один раз в начале прохода; продолжение по курсору не считает его повторно.
Форма и кнопка находятся в одном контейнере диалога Joomla. Скрипт отправляет только поля активного диалога, чтобы параметры соседних операций не смешивались; перед отправкой распознаёт действия обычной обработки и отдельные действия цены, скидки и периода. После запуска любая пакетная операция или команда показывает общее нативное окно прогресса Joomla. Оно блокирует случайное закрытие во время выполнения и предлагает закрыть окно или обновить страницу после завершения.