8 часов назад
по моему путь не верный у вас в «snippet.sendcode.php», должен быть такой наверное?
require_once MODX_CORE_PATH . 'components/sendit/services/identi...
[СДЕЛАЙ САМ] Авторизация и регистрация по SMS с помощью SendIt 8
9 часов назад
Из-за сложной структуры extJS оказалось, что нужно написать бессмысленно много PHP кода. Когда счет новых процессоров пошел на второй десяток — пришло...
MiniShop3 - чего ждать в Beta версии. 9
9 часов назад
Блин курсор прям чума :-).
Написал промт
Теперь выбери специфичные для организации ВК24 данные. Запиши их в фай импорта системных настроек для MODX...
Испытание ИИ Cursor 3
Вчера в 21:07
Можно сделать самому по этой инструкции
msOneClick Чекбокс Согласия на обработку данных 1
Вчера в 20:49
Во-первых, radio это переключатель, это означает, что он должен иметь какое-то значение изначально, соответственно и валидация не нужна. Во-вторых, ес...
Как кастомизировать сообщения после Регистрации на сайте? 5
Вчера в 12:05
Нужно проверять метод save в файле assets/components/tickets/js/web/default.js
Там лаг с label id и input id и как раз если убрать из label id, то и ...
Указан неверный код защиты от спама. Tickets, как исправить? 2
Вчера в 11:30
Павел, скрипт у вас просто замечательный! Только одно но, или 2, смотря как считать… Сниппет требует от браузеров пользователей очень много ресурсов и...
[xLike] Идеальная система лайков с оптимистичным интерфейсом и правильной формулой 112
03 декабря 2024, 23:11
Ну планируется что расчеты будут делать клиенты на сайте. А чтоб они не могли приписать себе любую цену товара считать цену надо на стороне сервера. Т...
Плюсы и минусы Vue и gtsAPI 20
03 декабря 2024, 19:01
xtype: modx-combo-user
Это xtype (тип поля) самого MODX, выводит всех пользователей modUser
Список всех возможных типов полей
Вывести поле создателя при редактировании ресурса 3
stackoverflow.com/a/38402346/5666675
node modnodejs.js
и смотри что в консоли. перед выходом с консоли снова
node_modules/forever/bin/forever start modnodejs.js
ибо node modnodejs.js будет работать пока подключен по ssh
Напиши в личку (контакты в профиле), ибо ты сообщение отредактировал.
p.s. теперь modnodejs_host должен быть указан как http(s)://site.ru:9090 (при установке указывается автоматически). modnodejs_port более не используется.
github.com/but1head/modNodejs/commit/ad3bd175e15b434a25173aab17971e47ddc55a29
через несколько часов обновлю
1) Ты мне писал «У тебя только GET запросы, а когда будут другие?». Теперь посмотри на либу которую ты используешь, я там только GET и увидел. Меня не прикалывает использовать либу из 6 файлов, вместо 3х функций внутри компонента.
2) Твой клиент не работает с socketio и не будет. Для меня главное чтоб socketio понимал входящие сообщения, у него эвент и дата разделены, именно поэтому там где-то стояло 42/. Почему socketio? Да потому что это фреймоврк для сокетов, с серверной и фронтэнд частью.
3) Послать заказы из двух магазинов на один сервер? Укажи в настройке modnodejs_host адрес на который все будет отправляться. Я вообщем то и согласен, что кому-то понадобиться отправить в другое место это дело, поэтому добавлю 3й параметр хоста в ->emit($action, $data, $host);
Перестань уже при каждой возможности тыкать в мою тему, хочешь помочь — пиши\предлагай на гитхабе и\или личке. Все что я увидел за 2 дня: «Никита все очень плохо, я не могу сделать систему мониторинга для моего компонента из твоего компонента, надо тебе это доработать.» и «Всем привет, Никита не доработал свой компонент, поэтому я сделал ЛУЧШЕ и он будет работать с моим компонентом, да и возможностей у меня больше». Уже смешно.
Ну и самое главное: у меня готовое бесплатное решение для реалтайма (фронт и бэк), у тебя просто отправлялка которая на данный момент работает только с твоим не бесплатным компонентом.
Браузер конектится к ноде, она в свою очередь проверяет сесиию в пхп запросом в modx.
фротнэнд
node
Далее из ноды делайте что хотите. Хотите обращайтесь в Modx, шлите ответ обратно, подключайтесь к любому апи и тд.
Конкретно моя «связка» включает для себя ВОЗМОЖНОСТЬ соединиться с модкс, если вам это не надо — не делайте, мы все же на modx.pro сидим а не на zachem-modx-v-nodejs.pro
Возможно это https://github.com/foreverjs/forever-monitor подойдет
На этой сборке у меня написана система личных сообщений, скоро выложу.
shop2.ru
shop3.ru
modxclub.ru — нода
у всех стоит modnodejs в настройке modnodejs_host прописан modxclub.ru
Далее ты рулишь всеми соединениями, но тут уже придется переделывать логику сервера, ввиду того, что проверяет сессиию он на одном modx
e. То что ты хочешь не общее решение, а конкретно под тебя. Вот мне например не нужно собирать данные с кучи сайтов, каждый сайт это отдельный клиент и тд. А ты строишь какой-то проект мультистатистики и хочешь готовое решение использовать.
Еще раз, то что я предлагаю это работа ОДНОГО nodejs сервера с одним MODX (не важно кол.во контекстов\доменом). Я не сомневаюсь что кому-нибудь поможет то, что я сделал, да и на гитхабе все исходники, кому нужно разовьет проект для себя, кому-то хватит того, что есть.
Давай закончим. Если хочешь что-то предложить — пул реквест на гитхаб или личка.
$monodejs->emit('event', data); не вернет ответа, это отправка запроса в ноду и далее за обработку отвечает нода, она уже может из себя слать что и куда угодно, как минимум обратно в modx (modx.request('action', data, callback)).
Следовательно ты хочешь отправить запрос с modx в чужую ноду. И получить ответ внутри php, но php завершит процесс до ответа. Можно конечно извернуться и дать ответ, но что в это время будет делать «пользователь» сайта? Ждать ответа?
На примере карты, например, получает ответ браузер по get параметрам, но это браузер а не php.
Может быть я мало осведомлен в логике работы связки пыхи и ноды, но я не вижу смысла слать запросы на чужие сервера. Приведи пример где не только тебе будет полезно послать запрос из модкс куда-либо, и я начну над ним думать. Сейчас ты предлагаешь сделать так, как тебе удобно. Я не вижу в этом смысла для «всех». Добавить эти хотелки не проблема.
И да, каждый сокет (из ноды) проверяет сессию в модкс, если нет сессии — отключается не давая выполнять дальнейшие действия.
А вообще по таким вот обсуждения я уже предлагал тебе общаться в слаке да бы не захломлять тему.
2) Потому что это самое удобное решение как кажется мне
3) У меня все прекрасно принимает через JSON.parse()
4) А зачем использовать несколько серверов?
Посмотрел, ты пишешь свое решение под свое решение, а я не пишу решение под твое решение. Ты щас предлагаешь подстраивать компонент под твои нужды, но то что ты хочешь уж слишком не «общее решение». Как много слов «решение»… Короче говоря это пример обработки, если кто-то строит серьезные проект то и делать всю обработку «для себя» надо.
И ты уже не первый раз говоришь по ws, почитай про инструмент который я использую socket.io/docs/ может отпадут дальнейшие вопросы
2) моя связка на сокет.io, на ноде вылавливаются эвенты через сокетио а не «голая нода»
3) JSON.parse(data)
Я не могу предположить зачем слать запросы на кучу разных серверов, когда будет использоваться один.
По поводу 42 в начале — я долго ковырял, сокеты не принимали запросы без такой конструкции (где-то на гитхабе выловил)
Во время тестов 2гис, гугл и яндекс погибали, все было оч долго. Яндекс еще как-то держался, но в его гроб последний гвоздь заколотил дизайнер с такой цветовой схемой. Вообще спасибо разработчикам supercluster ( www.mapbox.com/blog/supercluster/ ), очень и очень быстрая штука с поддержкой браузера\ноды из коробки. На гите вполне себе рабочий пример. Еще думаю добавлю проверку файла на изменение, чтоб точки обновлялись когда в бэкенде менеджеры копаются.
Есть у меня один проект, где планировалось вывести на карте 50к точек, много всяких карт перебрал и тд, все было долговато (около 2х секунд, т.к. файл точек весит около 10мб). Потом подумал зачем отдавать все это дело клиенту, решил написать сервер на ноде для «порционной» выгрузки в пределах видимости. Вот что получилось:
s8276.h7.modhost.pro/demo/ на карте размещен кластер на 1.000.000 точек (вес файла 135мб), даже с телефона отрабатывает моментально. Выложил все исходники на github.com/but1head/supercluster-nodejs, может кому-нибудь пригодится.