Наумов Алексей

Наумов Алексей

С нами с 31 марта 2013; Место в рейтинге пользователей: #15

Еще немного про сессии MODX, компонент smartSessions

Всем привет!

Небольшая предыстория
Когда я на свой VPS сервер закинул очередной более-менее крупный сайт (в базе около 25 тыс. товаров), у меня начались проблемы с нехваткой памяти, mysql ее нещадно отъедал.

В процессе оптимизации я начал понимать, что у половины сайтов в базе большую часть объема занимает пресловутая таблица modx_sessions, где, как известно, лежат сессии посетителей.

Но… почему? У сайта посещаемость 150-200 человек в сутки, сессии хранятся 7 дней (да, я проверил, они действительно очищаются), но в таблице почему-то 200000 записей, хотя по логике вещей должно быть 200*7=1400+. Реальность расходится с теорией не на 5-10%, а в десятки раз!
В итоге таблица весит полгигабайта, сайтов штук 10, каждому дай памяти, вот VPS и падает периодически… непорядок!


Наумов Алексей
28 июля 2021, 10:51
modx.pro
13
1 827
+29

[miniShop2] Группируем поля на вкладке "Свойства товара"

Всем привет, небольшая инструкция про кастомизацию вкладки «Свойства товара» у miniShop2.
Наумов Алексей
20 июля 2021, 17:09
modx.pro
12
1 067
+13

Путаница с email и phone в miniShop2

Привет!

Разжуйте немного)

Еще в версии miniShop2 2.4.15 modx.pro/components/16079 было объявлено, что email теперь не обязательное поле при оформлении заказа. Ура, круто!

Но дальше начинается интересное…

Допустим, телефон обязателен, email нет, оформляем заказ… и важно, я не хочу регистрировать пользователей на каждый заказ. Мои покупатели делают по одному заказу в магазине, смысла в личном кабинете нет!
Итак, оформляем заказ, почту не указали… что произойдет? Создастся пользователь с фейковой почтой? Или вот в статье, куда я дал ссылку, написано, что можно все такие заказы привязать к одному пользователю Гость.

А если указали почту?.. Нужно обязательно регистрировать пользователя!!! Так как в заказе нет поля email! Вот поле телефон есть, а почты нет.. почему?

Где логика то? Может я что-то не понимаю. Я всегда выходил из этой ситуации регистрируя пользователей и генерируя им фейковые адреса почты, но это не айс…
Наумов Алексей
23 апреля 2021, 12:12
modx.pro
157
+1

easyComm 1.11.0. Прикрепление файлов (фотографий)

Привет!

Небольшой анонс новых возможностей easyComm с версии 1.11.0-pl.

Теперь вы можете дать возможность пользователям ваших сайтов прикрепить к отзывам файлы/фото.
Наумов Алексей
22 апреля 2021, 11:26
modx.pro
469
+12

msProductKits - удобное управление товарами-комплектами (наборами товаров)

Всем привет!

Сегодня хотел бы представить небольшой компонент под названием msProductKits, назначение которого — обеспечить удобную работу с товарами, представляющими собой комплект (набор) из других товаров. Компонент работает только с товарами miniShop2.
Наумов Алексей
21 декабря 2020, 10:08
modx.pro
1
990
+18

easyComm 3, работа в MODX 3


Приветствую участников сообщества!

В этой заметке я лишь хотел сказать о том, что в магазин Modstore выложена версия easyComm 3.0.1-pl, которая работает в MODX 3!

Наумов Алексей
23 мая 2020, 11:44
modx.pro
1 286
+17

easyComm 1.10.0. Голосование за сообщения (отзывы)

Всем привет!
Выпущено обновление easyComm, про которое у меня не раз спрашивали: возможность голосовать (Нравится/Не нравится) за любое сообщение.


Наумов Алексей
15 ноября 2019, 09:37
modx.pro
1 254
+27

Выборка случайных записей RAND(), но с определенным распределением

Всем привет!

А вот такую штуку ни не делал?

Допустим, есть 100 записей в базе, с полем дата, от 2010 до 2019 года.

Мне нужно вывести 10 случайных из них, но так, чтобы у свежих записей был приоритет, их должно быть больше, особенно в начале этой выборки.
К примеру я должен получить записи за 2018, 2019, 2016, 2012, 2019, 2017, 2014, 2015, 2016, 2010 года.

С одной стороны хочу показать случайные записи, а с другой, не хочу показывать старые, особенно в первой половине выборки.

В голову приходит только сделать штуки 3 случайные выборки за 2019-2017, 2016-2014, 2014-2010 года и объединить их.
Наумов Алексей
13 сентября 2019, 09:15
modx.pro
492
0

mSearch2 поиск по определенному полю

Всем привет!
Простой вопрос…

Хочу на одной странице сделать 2 вызова mSearch2:
1. поиск по категориям (msCategory), только по полю pagetitle
2. поиск по товарам (msProduct), по всем полям.
Как реализовать?..

Ограничить поиск только по категории или товару ясно, через where class_key.

А вот как заставить искать только по полю pagetitle? Поисковый индекс присутствует по всем полям для всех ресурсов…
Наумов Алексей
05 июля 2019, 16:30
modx.pro
563
0

[mFilter2] Вывод товаров со смежными значениями

Небольшая заготовка из вчерашнего рукоделия.

Имеем сайт с подбором товаров по характеристикам, реализованным на mFilter2.
Один из параметров «Мощность активная» выглядит так (увеличение по клику):


Как видно, есть большое разнообразие товаров с близкими значениями мощностей, но общее количество товаров не столь велико.
Это приводит к тому, что когда посетитель выбирает, к примеру, мощность 10 кВт, то он видит 1 товар в результатах подбора. А специфика продукции такова, что логично предложить пользователю аналогичные изделия как с чуть меньшей мощностью, например 9 кВт, так и с большей, до 12-15 кВт.

Нет, конечно можно сказать, что пусть нащелкает нужные цифры в подборе, но всегда есть «но». На страницу «Товары с мощностью 10 кВт» (где уже стоит галочка в фильтре) пользователь приходит из поисковых систем, фильтра он не видел и не нажимал. Если на странице будет 1 товар, пользователь может быстро уйти, решив, что мы предлагаем крайне скудный ассортимент, так и не увидев, что есть фильтр.

В общем, небольшая зарисовка на тему того, как при выборе в фильтре параметра со значением 10, показать все товары в диапазоне -x%....+y%.

Наумов Алексей
26 февраля 2019, 10:29
modx.pro
14
843
+10