
Николай Савин
С нами с 01 января 1970; Место в рейтинге пользователей: #2Вчера в 18:09
Всем большое спасибо. Не знаю из-за чего изначально не заработало, может кэш не почистил, может еще что-то было, но в файле
/public_html/core/compone...
Tickets не работают комментарии 6
Вчера в 13:52
Поддерживает ли msImportExport Product Options / msProductOptions?
Cпрашиваю, так как не могу найти ни слова об этом.
msImportExport 915
27 февраля 2025, 22:34
Пытаюсь поставить самоподписанный ssl, так как для других нужен домен, у меня просто через ip. Ставлю но всё равно он не хочет открываться через защищ...
Пустая админка. 6
26 февраля 2025, 11:21
Можно попробовать плагином на событие OnBeforeManagerPageInit
if ('OnBeforeManagerPageInit' === $modx->event->name) {
if (is_array($a...
Изменение сортировки в таблице Пользователи в админке по умолчанию 2
25 февраля 2025, 21:05
ну да, пойду в комнату 1. Ну по вашей подсказке потом допёрло почему в условии id 1. в ресурсе 1 у меня и лежат эти тв-поля.
Не работает условие в чанке футера на остальных страницах 16
25 февраля 2025, 19:07
Конечно, там же путь к интерфейсу другой.
Как сделать количество товара в minishop2 дробным? 9
А в сообществе уже 5600 человек.
2-5 тыс. рублей ежемесячно буду оплачивать гарантировано, а там посмотрим как пойдет.
Задача — сделать рассылку тысяче клиентов о подходящей им заявке с сайта.
Я могу напрямую перебрать подходящих пользователей и отправить каждому сообщение через консоль. Это вызовет определенную нагрузку на сервер. Это я понимаю.
В чем польза очередей?
Я вместо отправки сообщений тысяче клиентов делаю тысячу записей в таблице очередей.
А что дальше?
Настроенный мною скрипт будет вызывать скажем по десять записей в минуту и отправлять письма? Нагрузка явно будет меньше. Я правильно понимаю суть компонента и его пользу? Только хранение очередей в заранее подготовленной таблице и упрощенное добавление\запрос из таблицы очередей?
Спасибо Михаил.
А как работает выполнение действий из очереди? по крону? или что то вроде постоянного запуска через sleep?
Как вообще правильнее всего подобные вещи делать?
С таким вопросом обратился ко мне пользователь.
Для решения проблемы я открыл плагин modRetailCRM, нашел строчку, которая отвечает за отправку заказа в RetailCRM
Результат выполнения команды сохраняется в переменную $response.
Чтобы просмотреть возможную ошибку (а к слову RetailCRM присылает подробное описание ошибки на русском языке) достаточно распечатать эту переменную и сохранить ее в лог журнал MODX
После создания тестового заказа — пошел посмотреть журнал ошибок и увидел результат выполнения запроса, в котором русским по белому написано, что ошибка возникла из за несуществующего способа оплаты.
Оказывается если передать в этой строке
произвольный текст — RetailCRM не примет заказ.
Проблема решилась комментированием строки.
А откуда собственно взялся произвольный текст?
При создании способов оплаты я предложил в поле Описание — description указывать символьный код способа оплаты из справочника REtailCRM. Например Оплата наличными — cash.
Если же указать там именно произвольное описание способа оплаты, чтобы показать его клиенту в корзине — получится ошибка, которая решается всего лишь исключением передачи способа оплаты в CRM.
Для чего я так подробно все расписал.
Ну помимо очевидного решения бага я надеюсь будет полезна сама методика выявления возможных ошибок.
Дописываем плагин modRetailCRM, добавляя событие отслеживания статусов заказа msOnChangeOrderStatus
Вам нужно указать id заказа для того чтобы найти нужный заказ в CRM и символьный код статуса в CRM.
Статусы могут быть разные, это все индивидуально для вашей CRM, список статусов и их символьные коды можно посмотреть в разделе Администрирование — Статусы.
В данном примере я указал соотношение для статуса оплачено в Minishop — статус Выполнен в CRM
С удовольствием посотрудничал бы с вами, но что-то заказов набрал много.