Как можно реализовать перенос пользователя в другую группу как только тот совершит определенное количество заказов? Ну например сделал 5 заказов и попадает в группу постоянные покупателя, а у этой группы уже куча других привилегий по сайту.
в голову пришло 2 варианта
1 ) либо подключиться к хуку change_order_status
fn_set_hook('change_order_status', $status_to, $status_from, $order_info, $force_notification, $order_statuses, $place_order);
смотреть что status_to один из заранее определенных статусов (например в настройках модуля) при которых считать заказ выполненным или оплаченным, можно использовать fn_get_settled_order_statuses(); если версия системы достаточно новая
из order_info вытащить user_id
если он не 0 сделать запрос в бд
db_get_filed(' SELECT COUNT(*) FROM ?:orders WHERE user_id = ?i AND status in (?a)', $user_id,$paid_statuses);
$paid_statuses - список статусов при которых считать заказ выполненным или оплаченным
если число больше 5 выполнить
fn_change_usergroup_status("A", $user_id, $usergroup_id);
$usergroup_id - брать из настроек модуля
2 ) по крону просматривать всех пользователей (либо последние заказы из них брать id пользователя)
и делать примерно тоже самое
Посмотрите в сторону готовых решений
https://www.ecom-labs.ru/cs-cart-multi-vendor-moduli/cs-cart-modul-programma-loyalnosti.html