Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 100 комментариев

Wassi Wassinen
Wassi Wassinen
Николай, прежде всего — вы молодец.

А про кеширование — можно пойти по правилу Парето.
То есть дать возможность закешировать самое частое — это «фильтры первого уровня». То есть самые базовые варианты (без выбора нескольких фильтров). Именно их используют чаще всего и именно они (после выборки всего каталога) имеют самые тяжелые запросы. Если в фильтрах есть, например: производитель, стиль и цена. Цену мы закешировать вряд ли можем (она, как правило, выбирается диапазоном). А вот производителей и стили — можем. Это снимет большую часть более тяжелых запросов с сервера (потому что выборка всё ещё довольно существенная на больших каталогах даже при выборе только производителя или только стиля). А выборка в формате «производитель + стиль» уже не такая тяжелая.
Николай Савин
Николай Савин
На данный момент кеширование отлажено только для каталогов без примененных фильтров. Такие страницы отрываются достаточно быстро. Обычно это 300-400 ms
А вот как сделать удачное кеширование страниц с примененными фильтрами я пока не знаю. Слишком большой набор вариаций и пересечений. Это называется вариативный взрыв. Хорошая новость в том, что даже с одним примененным фильтром товаров в каталоге остается не так много — и вся эта история загрузится сильно быстрее чем пустой каталог.
Евгений
Евгений
На всякий скопирую код для Bootstrap 4 (есть старый проект, лень переезжать на 5 версию):
/* Закрыть модальное окно после отправки */
document.addEventListener('si:send:success', (e) => {
    $('#id_формы').modal('hide');
})
Павел Голубев
Павел Голубев
Предлагаю в целом обсудить понятие «вариант товара».

Я пришел к тому, что варианты — являются отдельными товарами. Возьмём для примера футболку. У неё
— 2 кроя: для мужчин и женщин
— 2 цвета: черный и белый
— 3 размера: S, M, L.

Итого у нас 12 разных товаров, у каждого свой свой SKU (id), свой штрих-код, свой складской остаток и могут даже фотографии различаться, ровно как и описания товаров. Это именно разные товары, т.к. они хранятся на разных полках склада и у по каждому из них свой остаток.

А сущность «варианты товара» — чисто человеческое понятие, подразумевающее под собой группировку товаров по каким-либо признакам. Но при этом товары в группе — это то разные товары.

Если посмотрим на маркетплейсы, то там тоже каждый «вариант» — отдельный товар со своим url формата /product/name-id
Пример:
www.ozon.ru/product/noski-adidas-sportswear-c-spw-ank-6p-6-par-1072115944
www.ozon.ru/product/noski-adidas-sportswear-c-spw-ank-6p-6-par-1072115144
www.ozon.ru/product/noski-adidas-sportswear-c-spw-ank-6p-6-par-1072123642
www.ozon.ru/product/noski-adidas-sportswear-c-spw-ank-6p-6-par-1072125230
Александр
Александр
Добрый день. Подскажите на какой версии MODX пробуете? У меня на версии 2.8 авторизация через яндекс происходит, настройка да, несколько отличается от скриншотов. На VK не пробовал, но мне нужна авторизация для MODX 3, в нем компонент вызывает ошибку. Так я и не понял, он работает с MODX 3 или нет.
Евгений
Евгений
опытным путем выяснил что ошибку валидации радио кнопок можно вылечить добавив в форму еще один вариант
<input type="radio" name="form1" value="" cheсked>
скрыв его с помощью CSS (для Bootstrap, например, добавив class=«d-none»)
соответственно
<input type="hidden" name="form1" value="">
надо убрать