170 похожих чатов

А скажите мне вот что. Нужен совет по best practices от

Evo senior developers.

Есть сайт с товарами, товаров немного. Три основных типа товаров, ну, штук по 1000.

Но зато много товарных категорий/подкатегорий, каждая из которых берет товары фильтром из общей массы.

Таких категорий может быть и 100, и 200 на странице выведено.

И рядом с каждой категорией по замыслу дизайнера - количество товаров в ней.

Как вы делаете - "на лету" подсчет и вывод кол-ва, или же плагинчик, который после импорта товаров запускается кем-то и считает всё, а эти все количества записывает в ТВ для каждой категории?

7 ответов

52 просмотра

На лету пересчет - делал, очень тормозить с какого-то момента стало. У меня как раз магазин есть, около 2000 товаров, и тоже дофига гатегорий и уровень вложенности 4-5-6, и там прям надо в каждой категории показывать количество актуальных товаров в ней. Поэтому просто при сохранении/публикации/удалении товара получаю цепочку id родителей (getParentsIds) и id из связанных с товаром мультикатегорий и по цепочке вверх пересчитываю количество и сохраняю в отдельную таблицу для каждого id_категории. При обычном рендере, соответственно, ничего не пересчитывается, все количества выводятся из этой таблички. Правда, там у меня 1.4, но сути дела не меняет скорее всего.

У меня товары добавляются отдельно, а категории сами по себе. Скрипт, который выводит категории пишет список категорий, в т.ч. и количество в кеш. Срок кеша небольшой, пару часов. Это экономит ресурсы на запросы, а то, что цифра меняется не сразу, а через 1-2 часа никого не парит.

Советую ознакомиться: DocLister

У меня бурячок. Нету стандартного компонента, свой вывод и я просто хотел рассказать про то, как экономить запросы на количестве в категориях. Наверное можно это совать в препару, если там доклистер.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта