Николай Савин

Николай Савин

Был в сети 29 июня 2026, 12:35
Заказы принимаю
Здравствуйте. Отвечаю вам по порядку.
Для начала вы используете MODX3, а компонент предназначен для MODX2 (правда в описании нигде об этом не сказано). Автору нужно указать это в магазине.
Далее вы конечно можете пожаловаться в магазин как на качество компонента, так и на отсутствие ответа в поддержке. Для этого вы можете написать в support@modstore.pro, либо написать в виджет чата на сайте.
Ну и по закону вы имеете право на возврат денег, в случае если компонент вам не подошел.
Если сервис российский, сервера внутри страны, а сам он внушает юридическое доверие почему бы с ним не работать.
На рынке есть отличные сервисы подборок и рекомендаций, сервисы внешнего поиска с подключаемыми на сайт виджетами, CRM различные и т.п. И ничего… зависят от них. Съезжать никто не собирается.
Я понял это по вот такой строчке
\core\src\Revolution\modParser.php
Пространство имен появилось только в MODX3

pdoTools для MODX3 также есть и работает, но там другие классы. Кроме того сервисы в MODX3 вызываются по другому.
Итого вот такой код
$pdo = $modx->getService('pdoTools');
foreach($array as $arr){
    $out .=  $pdo->parseChunk('userChunk', $arr);
}
мы можем преобразовать примерно вот так
use ModxPro\PdoTools\Fetch;
/** @var Fetch $pdoFetch */
$pdoFetch = $modx->services->get(Fetch::class);
foreach($array as $arr){
    $out .=  $pdoFetch->getChunk('userChunk', $arr);
}
Вам нужно создать плагин на событие msOnGetProductPrice

Пример кода такой
/** @var modX $modx */
/** @var msProduct $product */
if ($modx->event->name == 'msOnGetProductPrice') {
    $userGroups = $modx->user->getUserGroups();
    $sale_group = 4;
    //  $sale_price - цена со скидкой.  Придумайте откуда ее взять.  Отдельное поле или процент от общей цены
    $sale_price = 100;

    if (in_array($id_group, $userGroups)) {
        $modx->event->returnedValues['price'] = $sale_price
    }
}

Здесь по коду проверяем в каких группах состоит клиент. Если среди них есть скидочная группа — то подменяем price на нужное вам число
Нет, поле email было добавлено в таблицу адреса, еще, по моему в версии 3.0.0
Так что с одной стороны все идет по плану.
С другой стороны у вас почему-то это поле не создалось. Рекомендую руками добавить
Я бы в профиль пользователя писал использованные им промо-коды.
При вводе промо-кода срабатывает событие. На это событие написать плагин, который будет проверять. есть ли у этого пользователя подобный промо-код в профиле.
Слегка смахивает на рекламу. Предлагаю дополнить статью примером или описанием логики подключения к MODX.
Я вот несколько раз перечитал, но так и не понял. Это подключаемый сервис, куда выгружается список товаров. А как это работает с MODX? Это виджет или внутри MODX есть компонент, который получает запрос, гоняет на сервис за результатами и быстро отображает их.

Как то прям мало информации