Владислав

Владислав

С нами с 11 августа 2015; Место в рейтинге пользователей: #1008

Оптимизации и тонкости работы с БД для больших магазинов на MODX Revolution

Небольшое вступление

Данная статья не претендует на универсальное решение. Всегда пользуйтесь собственной головой. Всё описанное ниже актуально для MODX Revolution 2.8.3-pl, miniShop2 2.9.1-pl.

wfoojjaec
16 сентября 2021, 19:09
modx.pro
31
2 889
+26

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

Всем привет!

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

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

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


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

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

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

Создание правильных тем для MODx. Мой опыт.

Всем привет.

Данная статья может вызвать резкую вибрацию в районе точки G и полыхание седалищ у высококвалифицированных специалистов MODx и некоторых других людей по следующим причинам:

  1. Я не графоман и не жажду писать орфографически правильно, но и по албанский стараюсь не писать.
  2. Я не считаю себя великим разработчиком и каждый день стараюсь совершенствоваться.
  3. Я имею право на свое мнение и именно им хочу поделиться. Принять его или нет — ваш выбор.
  4. Я пишу MODx — потому что это красиво, а я хочу чтобы MODx был красивым.
  5. Будет много букв, осилят только самые стойкие.
Посему прошу отнестись к данной статье «с пониманием» и не разводить срач в комментах. Погнали!
iWatchYouFromAfar
17 июня 2020, 13:42
modx.pro
3
2 740
+28

Заготовка MODX RESTFull API для работы с магазином на основе miniShop2

Подготовил и выложил на Github полностью готовый компонент, который реализует RESTFull API на базе встроенного в MODX modRestService.

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

Николай Савин
08 марта 2020, 15:07
modx.pro
13
2 734
+22

Генерация файла sitemap.xml для мультиязычного сайта

Многие из нас делают мультиязычные сайты на контекстах. Контексты в MODx — вообще очень крутая штука, наверное, одна из самых крутых. На текущем большом мультиязычном проекте, SEO оптимизатор скинул мне статью в гугле и сказал, что нужно оптимизировать сайт под неё. Вопрос по теме задавали аж два года назад и ответов не последовало. Но народ вроде дал мотивацию тратить время на статью…
iWatchYouFromAfar
03 марта 2020, 22:28
modx.pro
15
4 760
+19

MODX, PHP и сборка мусора в сессиях

Вольный перевод свежей статьи от Марка Хамстры.

Когда вы в последний раз проверяли размер таблицы modx_session? Не измерялся ли он в гигабайтах? Если это так, вы не одиноки.

Чтобы понять проблему нужно немного предыстории.

Антон Тарасов
03 марта 2020, 17:28
modx.pro
3
2 990
+8

Как добавить поле заказа в MS2

Здравствуйте.

Хотел поделиться способом, как добавить новое поля заказа MS2. После чтения статьи от Николая (спасибо ему за статью) понял, что это мой путь и нужно сделать все по аналогии, так как задачи очень схожие.

Внимание! Если вы захотите попробовать решение. Сначала проверьте на тестовом проекте, а после тестирования делайте на боевом проекте. Помня что Бекап это наше все

Задачу поставим следующую. Давайте создадим поле «Адрес» как общее поле что бы клиент мог вписать весь адрес полностью (Улица, дом, подъезд этаж и т.д).

Что нужно для этого!

Олег Щавелев
17 ноября 2019, 01:01
modx.pro
5
1 982
+1

Метод ->remove()

Я и раньше наталкивался на странную работу данного метода, но вот есть такой вопрос.
У нас есть товар, у которого есть опции. Мне надо удалить их.
Делаю так:
$msProductOption = $modx->getIterator('msProduct', array('id' => 1137));

foreach($msProductOption as $option){
    $many = $option->getMany('Options');
    foreach($many as $m){
        $m->set('value', '');
        $m->save();
        //var_dump($m->remove());
    }
}
Данный способ не изменяет значение на пустоту и не удаляет, выдает false
Вроде бы это обычный объект, почему не изменяет значения и не срабатывает удаление?
Михаил
17 сентября 2019, 19:22
modx.pro
1
1 073
0

TVTable 3.4.0

Привет всем!

Для того чтобы администрация форума не ругалась:
«Сегодня дорогие мои, не будет никаких сантиментов и смайликов. Только жесткач и технические данные в чистом виде! Кому нравится словоблудие и рукофлудие, свободен. Никого не держу. Досвидульки и ...»
Баха Волков
07 июня 2019, 18:35
modx.pro
7
2 698
+21