Andrey

Andrey

С нами с 08 августа 2016; Место в рейтинге пользователей: #213

Vite + MODX CMP, как избавиться от ExtJS и жить дальше с комфортом в разработке

В данном видео мы посмотрим как можно избавить себя от использования ExtJS при разработке компонентов и начать применять современные реактивные фреймворки, такие как Vue, React, Svelte и другие.


Семён Кудрявцев
22 февраля 2023, 18:54
modx.pro
9
1 471
+30

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

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

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

wfoojjaec
16 сентября 2021, 19:09
modx.pro
30
2 581
+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
4 321
+29

Изменение значения поля после сохранения Товара.

Приветствую сообщество!

Предыстория. На фронте есть форма которая добавляет и сохраняет новые Товары, вот собственно мне нужно, чтобы только у модераторов была возможность ставить галочку нужного мне поля, а если Товар сохраняет кто либо, но НЕ модератор, то сбрасывать поле на 0.
В общем такой вопрос, нужно при сохранении документа сбрасывать (устанавливать) значение одного поля на дефолтное (допустим было 1, надо при сохранении на 0).

Собственно я создал плагин вот такой:
<?php
$eventName = $modx->event->name;
switch($eventName) {
    case 'OnDocFormSave':
        $resource->set('moder_pub', 0);
        break;
}
Да да, тут нет проверки на то, принадлежит ли пользователь группе модераторы или нет, но суть не в этом, я это сделал, только чтобы проверить работает это вообще или нет, ну собственно не работает… При этом не меняет вообще никакое поле, какое бы не ставил.

Вот вопросик, куда копать, как сделать так, чтобы это работало :D

UPD.РЕШЕНИЕ
Не знаю на сколько правильно, НО вот такое решение помогло, спасибо @Евгений Webinmd
<?php
if ($modx->event->name == "OnDocFormSave") {
	if ($modx->user->isMember('Moderator')) return;
    $id = $resource->get('id');
    $res = $modx->getObject('msProduct', $id);
    $res->set('moder_pub', 0); 
    $res->save();
}
Andrey
07 июня 2021, 16:28
modx.pro
1
384
0

Не работает правило section_add_children для добавления Товара в Категорию!

Приветствую сообщество!

Уже не знаю что делать… Может кто сталкивался, подскажет куда копать или объяснит тогда как это работает.
В общем дано:

— Минишоп2
— Категория товаров
— Группа пользователей с привилегией section_add_children
— Группа ресурсов с «данной» категорией товаров
— Сниппет ms2form
Andrey
28 мая 2021, 19:26
modx.pro
1
499
0

PageBlocks. Удобное управление контентом сайта.

Всем привет.

Документация

PageBlocks позволяет легко и быстро интегрировать верстку. Больше никаких дополнительных полей(tv). Добавляйте, удаляйте и перемещайте блоки в интерфейсе ресурса.



Aleksandr Huz
28 мая 2021, 10:33
modx.pro
3
2 619
+25

Поиск источника ошибки Instantiated a derived class

Всем привет!

На одном из сайтов стала появляться ошибка следующего содержания:
Instantiated a derived class CollectionContainer that is not a subclass of the requested class ArticlesContainer

которая забивала Журнал ошибок за 2-а дня на 60 мб.

Поиск источника по БД, через сниппеты, через Batcher и другие способы не принесли результата.

Иван Бочкарев
23 мая 2021, 22:39
modx.pro
4
1 151
+17

Интерфейс бана пользователя

Смотрю, что-то заметка про аватар пользователя оказалась слишком простой, поднимем немного градус.
Покажу как будет выглядеть интерфейс бана пользователя по итогу.



Ниже представлен код, куски которого когда-то писали коллеги по данному сайту и чатику в телеграме.
А я уже дописал чего не хватало и собрал все в кучку.
Евгений Webinmd
27 апреля 2021, 10:49
modx.pro
3
832
+15

Отдаем модные форматы картинок в webp и avif напрямую через nginx и apache в обход разметки



Всем привет!
Я тут работал над одним проектом, в котором очень много контентной и интерфейсной графики, десятки тысяч изображений и, конечно, возник вопрос оптимизации сайта, чтобы удовлетворить требования поисковых систем.
Энтузиазма добавили, появившиеся относительно недавно у гугла, так называемые Core Web Vitals.
Кто не в курсе это пачка технических показателей качества сайта, которые скоро будут включены в алгоритм ранжирования и все тормознутые сайты из-за них, типа, покатятся вниз.
Ну в общем, встала задача оптимизировать картинки, а также сделать так, чтобы не пришлось переписывать кучу html кода, чтобы эти картинки туда вставить.
Семён Кудрявцев
26 апреля 2021, 23:44
modx.pro
20
5 640
+21

FlashShop. Готовая сборка магазина.



Демо временно не работает!
Установка на modxhost тоже пока не работает!

Особенности


  • Bootstrap 5.0.0
  • Адаптивная и валидная верстка
  • Ajax авторизация/регистрация
  • Личный кабинет
  • Динамическая мини корзина
  • Фильтрация и сортировка
  • Поиск по товарам
  • Контактные данные покупателя в письме заказа
  • Обратный звонок с защитой от CSRF
  • Карты: yandex, google, leaflet и 2gis
  • Конструктор блоков на основе MIGX
Aleksandr Huz
22 апреля 2021, 12:20
modx.pro
2
2 217
+9