16 декабря 2021, 14:02 да, корректно) просто в файле core/msearch2/model/msearch2/filters.class.php этот метод фильтрации описан, а в документации — нет) Вопросы / Slider в mFilter2 работает только с целыми числами 4 0
15 декабря 2021, 09:03 еще может помочь модификатор split, чтоб разбить строку на массив Вопросы / Как при помощи Fenom найти совпадение? 2 0
15 декабря 2021, 09:00 попробуйте использовать фильтр decimal вместо number в параметрах сниппета Вопросы / Slider в mFilter2 работает только с целыми числами 4 0
12 мая 2021, 10:39 У меня была такая проблема, неправильно высчитаывалась сигнатура внутри компонента. Решение описывал тут: modx.pro/help/3525#comment-122256 Вопросы / Смена статуса заказа mspRobokassa 12 0
04 августа 2020, 10:39 У меня возникла похожая проблема, только в тестовом режиме компонент ругался при каждой оплате. Методом тыка выяснил, что сигнатура в компоненте не совпадает с сигнатурой от робокассы, и связано это вроде как с наличием копеек. Помогло поправить метод receive в классе оплаты Robokassa (core/components/minishop2/custom/payment/robokassa.class.php) Добавил вычисление сигнатуры без копеек $sum3 = number_format($order->get('cost'), 0, '.', ''); $crc3 = strtoupper(md5($sum3 . ':' . $id . ':' . $this->config['pass2']));И в последующем ифе проверку if ($crc == $crc1 || $crc == $crc2 || $crc == $crc3) {...}Полный код метода: public function receive(msOrder $order, $params = array()) { $id = $order->get('id'); $crc = strtoupper($_REQUEST['SignatureValue']); // Production $sum1 = number_format($order->get('cost'), 6, '.', ''); $crc1 = strtoupper(md5($sum1 . ':' . $id . ':' . $this->config['pass2'])); // Test $sum2 = number_format($order->get('cost'), 2, '.', ''); $crc2 = strtoupper(md5($sum2 . ':' . $id . ':' . $this->config['pass2'])); /** вот эти две строки добавил*/ $sum3 = number_format($order->get('cost'), 0, '.', ''); $crc3 = strtoupper(md5($sum3 . ':' . $id . ':' . $this->config['pass2'])); if ($crc == $crc1 || $crc == $crc2 || $crc == $crc3) { //и здесь одно условие /** @var miniShop2 $miniShop2 */ $miniShop2 = $this->modx->getService('miniShop2'); @$this->modx->context->key = 'mgr'; $miniShop2->changeOrderStatus($order->get('id'), 2); exit('OK'); } else { $this->paymentError('Err: wrong signature.', $params); } } Вопросы / Minishop2 + robokassa 13 0 2
02 июля 2020, 15:29 т.к. migx хранит пути к файлам только относительно указанного ему медиаисточника, я написал небольшой плагин на событие «pdoToolsOnFenomInit», который создает модификатор для фенома, в котором находится baseUrl меди-источника по его ID <?php switch ($modx->event->name) { case 'pdoToolsOnFenomInit': $fenom->addModifier('mediapath', function ($input) use ($modx) { if (!$output = $modx->pdoTools->getStore($input, 'mediapath')) { if (!$output = $modx->cacheManager->get('media_' . $input)) { if ($source = $modx->getObject('sources.modMediaSource', $input)) { $source = $source->toArray(); $output = '/' . ltrim($source['properties']['baseUrl']['value'], '/'); } else { $output = '/'; } $modx->cacheManager->set('media_' . $input, $output, 0); } $modx->pdoTools->setStore($input, $output, 'mediapath'); } return $output; }); break; }полученный путь кешируется средствами модыкса (чтоб каждый раз в базу запросы не делать), плюс еще кладется в Store pdoTools-ов, чтоб в циклах не дергать каждый раз кеш :) использовать можно так: <img class="image" src="{mediapath(2) ~ $i.image}"> Пошаговые инструкции / [MIGX] - Большой и страшный. Знакомство. 40 +3
02 июля 2020, 12:13 Отличная статья! Ковыряю vesp еще с первых статей, очень много нового для себя узнал. Очень интересно было бы почитать еще про работу с файлами и организации, например, галерей. Пошаговые инструкции / Знакомимся с Vesp Core 31 0
11 июня 2020, 07:17 в инструкции написано, что сниппеты не кешируются но по моему опыту, при таком вызове может кешироваться только код сниппета, но не получаемые им данные Вопросы / Как вызвать сниппет из файла не кэшированным на Fenom? 4 +1
22 марта 2020, 08:41 {set $prices = $_modx->resource.Prices | fromJSON} {$prices[2][2]} {*получить значение ячейки (2,2), индексы с 0 начинаются*} {foreach $prices as $row} Size: {$row[0]} Availability: {$row[4]} {/foreach}Работа с массивами аналогична пхп. По феному есть документация раз и два Вопросы / TVTable как получать значения из ячеек таблицы 13 +1 1
20 марта 2020, 15:52 {foreach $_modx->resource.Prices | fromJSON as $row} {foreach $row as $cell} {$cell} {*тут выведутся все значения всех ячеек*} {/foreach} {/foreach} Вопросы / TVTable как получать значения из ячеек таблицы 13 +1
19 февраля 2020, 10:20 можно сниппету msOrder указать настройку 'userFields' => ['phone' => 'mobilephone'] тогда и у нового пользователя при создании заказа будет телефон в mobilephone записываться, и у залогиненного пользователя подставляться в это поле phone будет номрально Вопросы / Обработка поля mobilephone при оформлении заказа в miniShop2 3 0 1
30 мая 2019, 15:39 я так недавно пробовал сделать — стандартный js минишопа начинает в консоле ругаться Вопросы / Не обязательные поля доставки и оплаты minishop2 4 0
28 мая 2019, 12:43 Нужно посмотреть ошибки в консоле браузера. Может где-то нарушен порядок подключения js-ов Вопросы / Как в jQuery вставить элемент MIGX? 5 0
28 мая 2019, 12:07 в просто js-файле не сработает а вот через чанк должно получиться Вопросы / Как в jQuery вставить элемент MIGX? 5 0
28 мая 2019, 11:03 попробуй настройку pdoMenu &checkPermissions Укажите, какие разрешения нужно проверять у пользователя при выводе ресурсов, например &checkPermissions=`list`. Вопросы / Убрать разделы для не авторизованных юзеров 1 0
28 мая 2019, 10:58 чтоб получить голый json из migx-переменной нужно просто получить заначение ТВ-шки напрямую [[*migxTV]]или fenom'ом {$_modx->resource.migxTV} Вопросы / Как в jQuery вставить элемент MIGX? 5 0
28 мая 2019, 10:52 попробуй вызвать через $this->modx а вообще, чтоб в любом файле подключить $modx, у меня работает такой код: define('MODX_API_MODE', true); require_once dirname(dirname(dirname(dirname(__FILE__)))) . '/index.php'; //путь до index.php, который лежит в корне $modx->getService('error', 'error.modError'); $modx->setLogLevel(modX::LOG_LEVEL_ERROR); $modx->setLogTarget('FILE'); Вопросы / Как использовать $modx в подключаемом php файле? 1 +1
08 февраля 2019, 13:00 при работе с дополнением msPromoCode уведомления noty с применением/отменой промо-кода отображаются без стиля. другие библиотеки тоже неправильно показываются. Новые дополнения и их версии / modAlertify 26 0
30 января 2019, 19:43 ну так-то да, я что-то не подумал: откуда форма знает куда ей стучаться? может попробовать воткнуть в каждую форму скрытую кнопку «в корзину»..? минишоповские скрипты должны понять такой ход :) <button type="submit" name="ms2_action" value="cart/add" style="display: none;">В корзину</button> Вопросы / Добавление разных размеров 6 +1 1
Возможно ли реализовать возможность предоплаты за доставку на сайте? Так ради этого мне и нужно это все, чтобы клиент платил сразу при оформлении заказа, чтобы избавить себя от мусорных заявок (когда человек оставляет заявку, а предоплату делать не ...
Редизайн сообщества На больших экранах основной текст статьи я бы сделал 18 px. Да и текст комментариев можно таким сделать. Для меня лично 16 — мелковато на больших экранах (в комментариях вообще 15 ...
MiniShop3 1.11.0 при клике на radio идет пересчет итоговой суммы в orderUI, в зависимости от способов(оплаты доставки) я так поняла. попробуй код запуска события поставить ниже чем orderUI, после
ImageOptimizer - WebP/AVIF и responsive <picture> для MODX 3 Дополнение доступно modstore.pro/packages/photos-and-files/imageoptimizer
Localizator3 для MODX 3: перевод полей и TV без отдельного context на язык, Vue 3 + PrimeV... Добавил localizator3_default_language
msInShopNotify Начиная с версии 3.0.0-beta добавлена поддержка MiniShop3 Минимальные требования: PHP 8.4 MODX 3.2 MiniShop3
MaxNotify Обновление 1.2.0-pl (03.07.2026) — добавлены уведомления о заявках FormIt через hook-сниппет `maxNotifyFormIt`; — добавлены уведомления о заявках SendIt через hook-...
[msBonus2] 1.3.0 Бонус-коды, уведомления о сгорании и совместимость с msMultiCurre... Да, планируется. Даже чуть больше, чем просто бонусная система)
просто в файле core/msearch2/model/msearch2/filters.class.php этот метод фильтрации описан, а в документации — нет)
Помогло поправить метод receive в классе оплаты Robokassa (core/components/minishop2/custom/payment/robokassa.class.php)
Добавил вычисление сигнатуры без копеек
И в последующем ифе проверку
Полный код метода:
полученный путь кешируется средствами модыкса (чтоб каждый раз в базу запросы не делать), плюс еще кладется в Store pdoTools-ов, чтоб в циклах не дергать каждый раз кеш :)
использовать можно так:
Очень интересно было бы почитать еще про работу с файлами и организации, например, галерей.
но по моему опыту, при таком вызове может кешироваться только код сниппета, но не получаемые им данные
По феному есть документация раз и два
тогда и у нового пользователя при создании заказа будет телефон в mobilephone записываться, и у залогиненного пользователя подставляться в это поле phone будет номрально
а вот через чанк должно получиться
или fenom'ом
а вообще, чтоб в любом файле подключить $modx, у меня работает такой код:
откуда форма знает куда ей стучаться?
может попробовать воткнуть в каждую форму скрытую кнопку «в корзину»..? минишоповские скрипты должны понять такой ход :)