Fi1osof

Fi1osof

Был в сети 15 февраля 2026, 22:30
Заказы не принимаю
Павел Голубев
Павел Голубев
1
+1
Максим Кузнецов
Максим Кузнецов
2
+3
Понял, ну тогда со своей стороны предлагаю осветить «область действия» сугубо в связке с MODX'ом, т.к. вне него предостаточно примеров того, что можно сделать на голой ноде.

С уже существующими компонентами:

Tickets — оповещения о новых комментариях/созданных тикетах/активности в подписанных разделах. Также динамичное обновление ветки, при появлении новых комментариев. Какие-нибудь аналоги вконтактовских «Х понравилось ваше сообщение» для лайков, «На вашу тему подписался Х» и прочее как вариант.
miniShop2 — оповещение о создании или оплате заказа/смене статуса заказа/возможно, обновление корзины, при удалении или отключении товара. Вероятно, можно придумать что-нибудь для связки с курсом валют.
Также вырисовывается полноценный фронтэнд-интерфейс для менеджеров по обработке заказов.
(сам реализую нечто подобное в связке с нодой, выглядит примерно вот так):


— Любой календарный модуль (eventsCalendar2 и прочие) — динамичное обновление «событий» в календаре, при добавлении новых


Связка с остальными готовыми дополнениями, на мой взгляд, ограничивается простым «оповещением».

Компонентов, которых нет в общем пользовании, но периодически востребованные и подразумевающие реалтайм для полноценной работы и связку с данными MODX'a:

— чаты пользователей (общение/добавить-удалить участника/создать чат)
— переписки с администрацией без внешних сервисов
— мессенджеры с динамичным обновлением «новых сообщений»
— виджеты (динамичный мониторинг активности/покупок пользователей, их передвижение по сайту и тд и тп)
— оповещение об ошибках администрации (лог и прочее)
— динамичное отключение/обновление пользователя при изменении его прав/группы/статуса
— динамичный модуль тех, кто сейчас просматривает ресурс/раздел и тд.


В итоге, на мой взгляд, за редким исключением в виде полноценных модулей, основные возможности данной связки MODX + нода, которые уйдут в массы — это чаты и оповещение. В остальном задачи или слишком заточены под конкретный проект, или не требуют самого MODX'a, за исключением, возможно, авторизации.
but1head
but1head
5
+5
Fi1osof
Fi1osof
5
+4
Здесь важно учесть следующий момент: проиндексирован http-сайт уже или нет. Если нет, то можно смело сразу зарубать на https с настройкой редиректа. А если да, то такая процедура запросто может выбить сайт из индекса на месяц-два, а то и больше (что вряд ли кому-то понравится). Дело в том, что http — Это 80-ый порт, а https — 443. Для поисковиков это разные сайты (технически ведь на разных портах могут быть разные сайты и может быть разный контент). И получается, что новый сайт еще не проиндексирован, а новый (https) еще не индексированный. По этой причине надо делать сайт доступным и по http и по https. Но тут возникает еще один момент: Страницы в MODX кешируются и могут возникать случаи, когда на http-страницах все ссылки на https и наоборот. Если с https-ссылками http- страницах еще не особо страшно, то на https-страницах это может приводить к тому, что часть контента просто не будет подгружаться (браузер заблокирует соединения на http с https-страниц). Я в таких случаях на сайте прописываю такой плагин:
if($modx->context->key == 'mgr'){
    return;
}
 
switch($modx->event->name){
    
    case 'OnMODXInit':
    // case 'OnHandleRequest':
        
        if(!empty($_SERVER['SERVER_PORT']) AND $_SERVER['SERVER_PORT'] == '443'){
            
            $modx->setOption('server_protocol', 'https');
            
            $modx->setOption('site_url', 'https://' . $modx->getOption('http_host', null) . $modx->getOption('base_url', null));
            
            $cache_prefix = $modx->getOption('cache_prefix', null, '/') . '443/';
            $modx->setOption('cache_prefix', $cache_prefix);
        }
        
        break;
}
Суть его в том, чтобы кеш-префикс поменять для https-запросов.
Важно: на разных хостингах вместо $_SERVER['SERVER_PORT'] может быть другой параметр, надо смотреть индивидуально

Тогда сайт не будет потерян поисковиком и не вызовет выпода из индекса.
В robots.txt еще надо прописать жестко Host:
site_domain.
После этого месяца через три (когда поисковики полностью перестроят индексы), можно уже будет настроить и редирект.
Fi1osof
Fi1osof
20
+12
Если ключ не хотите светить, то однозначно запрос надо слать с вашего сервера на донора. В MODX есть готовый CURL-клиент. Вот код для примера:
$client = $modx->getService('rest.modRestCurlClient');
$result = $client->request('https://ya.ru', '/', 'POST', $params = array('foo'  => 'foo'));
print $result;
Можете с этим кодом к консоли поиграться.