26 октября 2018, 11:17 Верно заметил. Сообщество, а не детский сад. Здесь нянечек нет. Не нравится — не используй. Сделай сам. Новые дополнения и их версии / [modRetailCRM - 2.2.1] 48 0
26 октября 2018, 10:34 Потому что ты просишь чтобы за тебя все сделали, разжевали и готовое на блюдечке вынесли. Новые дополнения и их версии / [modRetailCRM - 2.2.1] 48 0
26 октября 2018, 10:30 на 130 с лишним скачиваний — он почему то у тебя одного не работает. Тебе не кажется, что проблема не в компоненте, а где то еще? Новые дополнения и их версии / [modRetailCRM - 2.2.1] 48 0
26 октября 2018, 10:22 С какой задачей? Перебрать массив опций и проверить их на пустоту? Это основа PHP: циклы и условия. Если ты не знаешь как делать подобные вещи — то лучше обратись в раздел работа. Новые дополнения и их версии / [modRetailCRM - 2.2.1] 48 0
26 октября 2018, 10:11 Ну как я и сказал. Если у свойства товара пустое значение — RetailCRM вернет ошибку. Можно ли сделать какое-то условие, если модификация пустая не учитывать ее? ОтветитьМожно — разрешаю. Новые дополнения и их версии / [modRetailCRM - 2.2.1] 48 0
26 октября 2018, 08:44 Насколько я понял, у тебя что то не то с модификациями. Может просто пустые. Попробуй, распечатай перед отправкой массив с данными, может что-то будет более ясно. $modx->log(1, print_r($orderData, 1)); Новые дополнения и их версии / [modRetailCRM - 2.2.1] 48 0
26 октября 2018, 07:55 Вот после этой строки в плагине $response = $modRetailCrm->request->ordersCreate($orderData, $site);можно включить логгирование $modx->log(1, print_r($response, 1));Мне очень нравится как API RetailCRM возвращает ошибки. Все предельно понятно Новые дополнения и их версии / [modRetailCRM - 2.2.1] 48 0
22 октября 2018, 14:11 Хотя бы плюсик к статье поставьте вместе со спасибо, По существу Не уверен что такая доработка плагина нужна. Вы пока второй на 130 загрузок, кто такое спрашивает. Новые дополнения и их версии / [modRetailCRM] - Интеграция с RetailCRM 46 +1
22 октября 2018, 12:51 Вообще при выгрузке нужно указывать идентификатор товара в поле ExternalID Если Вы этого не делали, тогда отдельного специального поля для связи товаров в различных системах нет. В таком случае, можно перед передачей заказа в RetailCRM, получить идентификаторы товара, используя поиск по товарам в CRM Для этого в плагине, там где начинается перебор товаров заказа, можно добавить дополнительный поисковый запрос в RetailCRM $store_response = $modRetailCrm->request->storeProducts(array('name' => $product['article']), 1, 20); if($store_response->getStatusCode() == 200){ $product_id = $store_response['products'][0]['offers'][0]['id']; } $orderData['items'][$key]['offer']['id'] = $product_id;Здесь вы ищите на складе RetailCRM товар, у которого наименование совпадает с артикулом в minishop2. Если такой товар найден получаем его id. Разумеется фокус сработает, если указанные данные у товаров в разных системах один и тот же. Никто не мешает искать по другим общим параметрам. Важно также понимать, что эти дополнительные запросы занимают время и заказ передается дольше, а клиент в этот момент сидит и смотрит на экран корзины. Новые дополнения и их версии / [modRetailCRM] - Интеграция с RetailCRM 46 0
19 октября 2018, 18:38 В конце плагина есть закомментированная строчка записи результата в лог. Нужно раскомментировать и посмотреть какая будет ошибка Новые дополнения и их версии / [modRetailCRM] - Интеграция с RetailCRM 46 0
19 октября 2018, 12:55 Да, почему бы и нет. Правильнее было бы не TV использовать, а добавить новое свойство товара. Это уменьшит время оформления заказа. Ну и подставляйте новый идентификатор в массив товаров, поле externalID, в плагине Новые дополнения и их версии / [modRetailCRM] - Интеграция с RetailCRM 46 0
17 октября 2018, 13:11 В плагине, в самом конце есть закомментированная строчка логгирования. Достаточно ее раскомментировать и будет запись в журнал, с достаточно подробным описанием ошибки. Новые дополнения и их версии / [modRetailCRM - 2.2.1] 48 0
17 октября 2018, 12:48 Нет не правильно. Если товар в CRM не создан, то заказ все равно создается на основе присылаемых данных (название, цена, опции) Если товары в базе CRM уже есть, то достаточно послать идентификатор товара, а все данные подтянутся из базы Новые дополнения и их версии / [modRetailCRM - 2.2.1] 48 0
17 октября 2018, 08:55 Видишь какую тему больную поднял. По любому нужно что то придумать в ядре Для разработчиков / Отправка Email о регистрации при оформлении заказа в miniShop2 23 +4
17 октября 2018, 05:09 Я что то упустил? Разве на данный момент, метод getCustomerId() не регистрирует пользователя в обязательном порядке? Если да, регистрирует — то по идее уведомление пользователю обязательно должно быть. Это как минимум хороший тон, а местами и соответствие законодательству. Если нет, не обязательна регистрация — то КОГДА ЭТО СЛУЧИЛОСЬ черт побери? Для разработчиков / Отправка Email о регистрации при оформлении заказа в miniShop2 23 +3
16 октября 2018, 18:59 Твой вариант может и проще и правильнее. Но уж точно это не то решение, которое будет работать из коробки при минимуме затрат. А вообще я же не претендую на максимальную точность. Просто рассказал о том, как я сделал, показал возможное решение вопроса, и примерно дал понять в какую сторону думать, при кастомизации. Для разработчиков / Отправка Email о регистрации при оформлении заказа в miniShop2 23 0
16 октября 2018, 18:56 Боюсь Володя не пропустит, вон ругаться уже начал Для разработчиков / Отправка Email о регистрации при оформлении заказа в miniShop2 23 0
16 октября 2018, 13:47 Думаешь быстрее будет? Все равно же запрос в базу. Или это ближе к Join чем к запросу? Для разработчиков / Отправка Email о регистрации при оформлении заказа в miniShop2 23 0
16 октября 2018, 12:59 Пофиксил, закоммитил. Для разработчиков / Отправка Email о регистрации при оформлении заказа в miniShop2 23 +1
16 октября 2018, 05:12 // Вызываем класс $modsendpulse = $modx->getService('modsendpulse'); // Получаем email любым удобным способом, по вкусу проводим валидацию $email = 'test@text.ru'; //Опционально добавляем Имя адресата любым удобным для Вас способом $name = 'Петя Иванов'; //Получаем номера адресной книги из параметров сниппета или указываем вручную $books = '201xxx2,2017xxx1'; //Делаем из строки массив $books = explode(',', $books); //В цикле отправляем в каждую книгу отдельно foreach($books as $book){ // Вызываем метод добавления email в адресную книгу $params['emails'] = array( array( 'email' => $email, 'variables' => array( 'name' => $name ) ) ); $modsendpulse->sendPulseAddEmailsToBook($params, $book); } //Если книг много, и ждать перебора с отправкой долго - пишем параметры в промежуточную таблицу задач, потом по крону вызываем таблицу и по порядку отправляем данные в книги Новые дополнения и их версии / [modSendPulse] - Рассылки через SendPulse 34 +1 1
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 ...
Можно — разрешаю.
Попробуй, распечатай перед отправкой массив с данными, может что-то будет более ясно.
можно включить логгирование
Мне очень нравится как API RetailCRM возвращает ошибки. Все предельно понятно
По существу Не уверен что такая доработка плагина нужна. Вы пока второй на 130 загрузок, кто такое спрашивает.
Если Вы этого не делали, тогда отдельного специального поля для связи товаров в различных системах нет.
В таком случае, можно перед передачей заказа в RetailCRM, получить идентификаторы товара, используя поиск по товарам в CRM
Для этого в плагине, там где начинается перебор товаров заказа, можно добавить дополнительный поисковый запрос в RetailCRM
Здесь вы ищите на складе RetailCRM товар, у которого наименование совпадает с артикулом в minishop2. Если такой товар найден получаем его id.
Разумеется фокус сработает, если указанные данные у товаров в разных системах один и тот же.
Никто не мешает искать по другим общим параметрам.
Важно также понимать, что эти дополнительные запросы занимают время и заказ передается дольше, а клиент в этот момент сидит и смотрит на экран корзины.
Достаточно ее раскомментировать и будет запись в журнал, с достаточно подробным описанием ошибки.
Если товар в CRM не создан, то заказ все равно создается на основе присылаемых данных (название, цена, опции)
Если товары в базе CRM уже есть, то достаточно послать идентификатор товара, а все данные подтянутся из базы
Разве на данный момент, метод getCustomerId() не регистрирует пользователя в обязательном порядке? Если да, регистрирует — то по идее уведомление пользователю обязательно должно быть. Это как минимум хороший тон, а местами и соответствие законодательству.
Если нет, не обязательна регистрация — то КОГДА ЭТО СЛУЧИЛОСЬ черт побери?
А вообще я же не претендую на максимальную точность. Просто рассказал о том, как я сделал, показал возможное решение вопроса, и примерно дал понять в какую сторону думать, при кастомизации.