17 января 2023, 11:22 Тот код, что я вам написал — был всегда. Он не поменялся и является более корректным. А вот старый код более не работает, начиная с 4 да. По идее его вообще не нужно было использовать в компоненте, так как мой вариант проще, быстрее в написании и до сих пор работает. Готовые решения / [msTelegram] Уведомления о заказе в telegram 72 0
14 января 2023, 20:30 Корректнее было бы перевести как сущности, но штуковины как то по-русски больше звучит )) Новые дополнения и их версии / Тема интернет-магазина - handyShop v1 26 +1
14 января 2023, 20:15 Получается так. Добавлю. Вопросы / Почему я не могу сохранить данные в 2 новых поля при создании заказа? 15 +2
14 января 2023, 19:49 Вот вызов плагина $response = $this->ms2->invokeEvent('msOnCreateOrder', array( 'msOrder' => $msOrder, 'order' => $this, ));Как можно заметить в плагине есть обе переменные. msOrder это объект заказа, order — это сам класс обработчик заказа Вопросы / Почему я не могу сохранить данные в 2 новых поля при создании заказа? 15 0
12 января 2023, 14:21 У меня два вопроса. Первый — Зачем вообще после возвращения со страницы оплаты что то делать? Это может быть актуально разве что для цифровых товаров, которые после оплаты должны быть доступны для скачивания. Второй вопрос — я потерял нить разговора. У вас вопрос какой бы изначально? В чем затык? Вопросы / Как сменить статус заказа при успешной оплате для minishop2? 13 0
12 января 2023, 14:02 Я вам выше дал ссылку на исходный код платежки от Робокассы. Посмотрите как устроена она. Это самый свежий компонент. Вопросы / Как сменить статус заказа при успешной оплате для minishop2? 13 0
12 января 2023, 12:40 Кажется мы друг друга не очень понимаем. Еще раз. Метод receive не используется клиентом, администратором и т.п. Он нужен для того чтобы Банк в фоновом режиме сообщил сайту о совершенной оплате. Никаких редиректов там нет и быть не может. Смену статуса оплаты по URL в данном случае использовать нельзя, потому что зная нужную комбинацию — мошенник может подтвердить оплату, не производя ее. Опирайтесь ТОЛЬКО на автоматическую служебную информацию от банка. Вопросы / Как сменить статус заказа при успешной оплате для minishop2? 13 0
12 января 2023, 08:56 receive это метод, который реагирует запрос из вне. Обычно банк после оплаты дергает файл /assets/components/minishop2/payment/имя_платежки/имя_платежки.phpВ этом файле «по вкусу» происходит валидация входящего от банка запроса и затем вызывается метод receive, основная задача которого — поменять статус заказа на оплачено. Запрос на проверку успешной оплаты производится также «по вкусу». Многие платежки просто слепо доверяют входящим данным. Для фронта, в случае этого метода ничего не происходит, так как он является служебным API методом. Как его тригерить — посмотрите в том же Paypal или например Робокасса Вопросы / Как сменить статус заказа при успешной оплате для minishop2? 13 0
11 января 2023, 08:24 Откройте плагин msTelegram и попробуйте заменить строчку $contacts = $modx->getObject('msOrderAddress', array('id'=> $msOrder->address));на следующий код $contacts = $msOrder->Address; Готовые решения / [msTelegram] Уведомления о заказе в telegram 72 0
28 декабря 2022, 19:58 Значит нужно смотреть журнал ошибок сервера. Вопросы / ms2form не создает товары 4 +2
27 декабря 2022, 17:56 Ну ей как бы никто и не занимался. Новые дополнения и их версии / minishop2 4.0.0 - beta и PayPal 1.0.1 + небольшая рекомендация авторам платежных систем 6 0
25 декабря 2022, 09:06 Scheduler работает через крон. То есть раз в минуту он запрашивает наличие задач в очереди и если такая есть, запускает задачу в работу. Таким образом если условный интернет-магазин ставит в очередь несколько задач Письмо менеджеруПисьмо КлиентуЗаказ в CRMСМС клиентуТо эти задачи будут выполнены в течение 4 минут по очереди. Но можно конечно делать и по другому. Ставить в задание не одну простую задачу, а пул задач. Что-то вроде — выполнить все процедуры касающиеся Заказа. А еще @Дима Сайт показывал как можно дергать CRON чаще, например каждые 10 секунд. Но у меня пока не получилось повторить (не особо и старался). Новые дополнения и их версии / [Scheduler] Планирование отложенных задач 4 0
23 декабря 2022, 18:10 Как 1.4.1? Вот только в прошлой статье 1.0.0 было вроде. С версии 1.4.1 сниппет вывода информации о скидках на конкретный товар удалён. Вместо него добавлен процессор. Честный semver подразумевает смену мажорной версии в таких случаях. Хотя ты конечно хозяин Новые дополнения и их версии / [msProductDiscounts] Новая версия 1.4.1 - больше удобства использования. 8 0
21 декабря 2022, 13:30 Откуда взялся MIGX? Есть же встроенный механизм присвоения категорий опциям. Используйте его. Как обойти проблему с вариативностью названий я вам написал. Вопросы / Возможность управления опциями товара в родительской категории в minishop2 11 0
20 декабря 2022, 17:27 В Minishop2 4.0.0 поле 'msOrder.address' удалено. Если оно требуется в компоненте — значит компонент более не будет работать. Ему нужно обновление. Новые дополнения и их версии / [msListOrders] - вывод списка заказов [Minishop2] 94 0
20 декабря 2022, 15:21 Можно вместо названия писать ключи лексиконов. Далее в каждой категории добавлять к лексикону какой-то префикс или суффикс. В этом случае на один ключ можно получить множество именований. Примерно по такому принципу работают заголовки фильтров в mFilter2 Вопросы / Возможность управления опциями товара в родительской категории в minishop2 11 +1
20 декабря 2022, 10:01 Спасибо за подробное разъяснение. Новые дополнения и их версии / FacetSearch - быстрый фасетный поиск с сервисом facetsearch.ru 47 0
19 декабря 2022, 20:09 Запросов не былоДа как будто бы неоднократно проговаривались, обсуждались нюансы, на которые нужно обратить внимание. И в чате мы часто вспоминаем mSearch. Из последнего — вот. И это по верхам еще прошлись. Новые дополнения и их версии / FacetSearch - быстрый фасетный поиск с сервисом facetsearch.ru 47 0
19 декабря 2022, 11:02 Мы рассматриваем различные варианты монетизации. Спасибо за ваш пример. Новые дополнения и их версии / MiniShop для MODX3. Что происходит и когда ждать? 53 0
18 декабря 2022, 21:32 Конечно, мы не можем просить сделать его opensourceОчень даже можем! Пора признать что кобыла пока не сдохла, но уверенно стареет, что пора слазить с нее и двигаться дальше. Почему бы не оставить mSearch2 сообществу для его развития. Тем более эпоха MODX2 идет к завершению. Пусть будет платным mSearch3 для MODX3 Пусть будет бесплатная платформа для дальнейшего развития и улучшения. Аля miniShop2. Вполне допускаю существование платных модулей улучшающих поиск и фильтрацию поверх mSearch2. В общем верю — что проекту это пойдет на пользу. Новые дополнения и их версии / FacetSearch - быстрый фасетный поиск с сервисом facetsearch.ru 47 +2
gtsAPI 1.1.7 — таблицы на TanStack, инлайн-редактирование как в Excel Prime Vue datatable тупит на 200+ строк и в виртуальном скролинге высота полей фиксирована. Вот нам в итоге и не подошло. Директор сказал расчет должен сразу показываться без пагин...
mxApi — быстрый внешний API для MODX Revolution • зафиксировать публичный контракт EndpointInterface / метаданных по semver, чтобы наш провайдер не ломался на обновлениях;Фактически это уже так, beta стоит просто на всякий случа...
YaSmartCaptcha - защитите ваши формы от спама умной капчей от Яндекс Вообще не понял о чем речь) В системной настройке service_js сейчас указана ссылка smartcaptcha.cloud.yandex.ru/captcha.js Я предложил очистить эту настройку, тогда компонент н...
mxBackup — обезличенные копии MODX в пару кликов Ещё нет, я там разом почти полтора десятка пакетов выложил модератор, вероятно, а шоке.
Gallery3x 3.4.0 - вставка галерей прямо из визуального редактора (CKEditor и TinyMCE RTE) Здравствуйте. Есть консольный скрипт Вот почитайте: docs.ivan345.com/books/gallery3x/page/import-ms2galleryphp
[mSync] Новая версия синхронизации с 1С Всем привет. В какой то момент начали сыпаться ошибки: Error 23000 executing statement: INSERT INTO `modx_msync_products` (`product_id`, `uuid_1c`) VALUES ...
А вот старый код более не работает, начиная с 4 да. По идее его вообще не нужно было использовать в компоненте, так как мой вариант проще, быстрее в написании и до сих пор работает.
Как можно заметить в плагине есть обе переменные. msOrder это объект заказа, order — это сам класс обработчик заказа
Первый — Зачем вообще после возвращения со страницы оплаты что то делать? Это может быть актуально разве что для цифровых товаров, которые после оплаты должны быть доступны для скачивания.
Второй вопрос — я потерял нить разговора. У вас вопрос какой бы изначально? В чем затык?
Посмотрите как устроена она. Это самый свежий компонент.
Еще раз. Метод receive не используется клиентом, администратором и т.п.
Он нужен для того чтобы Банк в фоновом режиме сообщил сайту о совершенной оплате. Никаких редиректов там нет и быть не может.
Смену статуса оплаты по URL в данном случае использовать нельзя, потому что зная нужную комбинацию — мошенник может подтвердить оплату, не производя ее.
Опирайтесь ТОЛЬКО на автоматическую служебную информацию от банка.
Для фронта, в случае этого метода ничего не происходит, так как он является служебным API методом.
Как его тригерить — посмотрите в том же Paypal или например Робокасса
на следующий код
То есть раз в минуту он запрашивает наличие задач в очереди и если такая есть, запускает задачу в работу.
Таким образом если условный интернет-магазин ставит в очередь несколько задач
- Письмо менеджеру
- Письмо Клиенту
- Заказ в CRM
- СМС клиенту
То эти задачи будут выполнены в течение 4 минут по очереди.Но можно конечно делать и по другому. Ставить в задание не одну простую задачу, а пул задач. Что-то вроде — выполнить все процедуры касающиеся Заказа.
А еще @Дима Сайт показывал как можно дергать CRON чаще, например каждые 10 секунд. Но у меня пока не получилось повторить (не особо и старался).
Честный semver подразумевает смену мажорной версии в таких случаях. Хотя ты конечно хозяин
Есть же встроенный механизм присвоения категорий опциям.
Используйте его.
Как обойти проблему с вариативностью названий я вам написал.
Если оно требуется в компоненте — значит компонент более не будет работать. Ему нужно обновление.
Далее в каждой категории добавлять к лексикону какой-то префикс или суффикс. В этом случае на один ключ можно получить множество именований.
Примерно по такому принципу работают заголовки фильтров в mFilter2
Из последнего — вот. И это по верхам еще прошлись.
Пусть будет платным mSearch3 для MODX3
Пусть будет бесплатная платформа для дальнейшего развития и улучшения. Аля miniShop2. Вполне допускаю существование платных модулей улучшающих поиск и фильтрацию поверх mSearch2.
В общем верю — что проекту это пойдет на пользу.