Alex Gorokhov

Alex Gorokhov

С нами с 07 сентября 2018; Место в рейтинге пользователей: #937
Павел Гвоздь
08 октября 2019, 11:46
1
0
У компонента есть некоторое программное API, с помощью которого можно начислить/списать баллы, примерно вот так:
$msb2 = $modx->getService('msbonus2', 'msBonus2',
    $modx->getOption('msb2_core_path', null, MODX_CORE_PATH . 'components/msbonus2/') . 'model/msbonus2/');
if ($msb2 instanceof msBonus2) {
    $msb2->initialize($modx->context->key);
    $manager = $msb2->getManager();
    
    //
    $action = 'comment'; // Ключ действия (для корректного текста в логах нужно добавить лексикон msb2_logs_+comment)
    $user_id = 2; // ID пользователя, которому начислить баллы
    $createdby_id = 2; // ID пользователя, который начислил баллы
    $amount = 10; // Сколько баллов начислить
    $order_id = 0; // ID заказа, т.к. действие никак не связано с заказом, то равен нулю
    if ($manager->setPlus($action, $amount, $user_id, $order_id, $createdby_id)) {
        // Начислено!
    }
}

Однако, хочется предупредить, что в документации использование этого API пока никак не отражено.