7. Несколько витрин
Витрина — это отдельный адрес (домен или поддомен) вашего магазина в Webasyst. Если у вас одна витрина, этот раздел можно пропустить.
Как устроены настройки
Настройки плагина хранятся отдельно для каждой витрины: у каждой свои переключатели, режим обработки, качество, хранилище S3, ключ GigaChat. В верхней панели страницы настроек поле «Витрина» выбирает, чьи настройки вы сейчас правите. Рядом, в строке «Область настроек», видно, что именно открыто.
В списке есть особый пункт «Все витрины». Он не создаёт отдельных настроек: при нажатии «Сохранить» с этим пунктом те же значения записываются во все витрины сразу.
Осторожно. «Сохранить» с выбранным «Все витрины» перезаписывает настройки каждой витрины значениями из открытого блока. Если вы вручную настроили одну витрину иначе, а затем сохранили «Все витрины», её индивидуальные настройки будут заменены. Чтобы поправить одну витрину, выберите именно её.
Секреты (ключ S3, токен GigaChat) при этом не стираются: если вы не вводили новый ключ в блоке «Все витрины», у каждой витрины остаётся её собственный. Настройки хранилища витрины также остаются её, если в блоке «Все витрины» они не заполнены.
Рекомендуемый порядок: сначала выберите «Все витрины» и задайте общие настройки, нажмите «Сохранить»; затем по отдельности выбирайте витрины, у которых должны быть отличия, меняйте только нужное и сохраняйте.
Что относится к каждой витрине отдельно
- Включение плагина и все функции.
- Режим обработки (при просмотре / фоновый / Smart Hybrid) и пауза.
- Бюджет на запрос посетителя, паузы, лимиты.
- Хранилище S3 (раздел 8) и ключ GigaChat.
- Исключения страниц и картинок, собственный CSS.
- Версия в именах файлов, срок хранения старых файлов.
Страница, которую посетитель открывает, записывается в очередь и обрабатывается настройками своей витрины, а не первого домена. Во вкладке «Диагностика» очередь и режим показаны по каждой витрине.
Что общее у всех витрин
- Cron. Одна строка cron обслуживает все витрины. Команда
pauseставит на паузу все витрины; переключатель паузы в настройках — только выбранную. - Файлы картинок общие. Кнопка «Удалить все созданные изображения», нажатая у одной витрины, может удалить файлы, которыми пользуются и другие витрины. Перед нажатием учитывайте это. При выбранном «Все витрины» кнопка удаляет файлы всех витрин.
- Команды
status,sweep,retry-quarantinedработают по всем витринам. У командыwarmupесть параметр--route <хеш витрины>, чтобы указать одну.
Домены, поддомены и зеркала
Плагин принимает запросы к своим адресам только с доменов и зеркал, которые есть в маршрутизации (роутинге) Webasyst. Если поддомен вашей витрины не добавлен в роутинг как домен или зеркало, плагин на нём не заработает: добавьте его.
Файл скрипта витрины scripts.js строится отдельно для каждой витрины. Если у какой-то витрины пересборка не удалась, это не мешает остальным — на странице настроек появится красное предупреждение с адресом этой витрины.
Облако S3 и несколько витрин
Одна витрина — один бакет. Ключ файла в бакете строится по пути оригинала и не содержит витрины. Две витрины с разными настройками (например, разным качеством), записывающие в один бакет, могут писать в одни и те же ключи. Работа двух витрин на одном бакете не поддерживается. Подробнее — раздел 8.
Файлы на сервере разделены по витринам в журнале и в имени автоматически; ничего настраивать не нужно.
SuperCache и несколько витрин
Кеш SuperCache ведётся отдельно для каждого хоста: страницы и адреса двух витрин не смешиваются (проверено на тестовом стенде, локальное хранилище). Подробнее — раздел 9.