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.

Просмотр изображения
Оригинал