Поставил commerce_account_balance модуль для пополнения пользователями своего аккаунта.
Но не могу написать условие, которое проверяло бы в rules есть ли на аккаунте у пользователя достаточно денег, а потом бы уже проводило правило. Сейчас оно может и в минус пользователя загнать или просто срабатывать без проверки условия.
Мне нужно снять у него 250 за закрепления по флагу. Правило выглядит так
Если бы делал через юзерпоинт написал бы так
if (userpoints_get_current_points($user->uid, 'all') >= 200) return TRUE;
else return FALSE;
а как для commerce account balance проверить?
Ответы
$balance = _commerce_account_balance_get_balance_raw($GLOBALS['user']);
$dva = $balance;
$trata = (int)preg_replace("/[^\d]+/","",$dva);
if ($trata >= 2500) return TRUE;
else return FALSE;
Написал такой бред, работает! Может кому пригодиться, ну или кто подправит на более красивый.
- посмотреть интерфейс этого модуля на предмет функции для получения значения
(getter)
- можно выполнить запрос к БД напрямую
(db_query)
Придумал что то такое
$account = $GLOBALS['user'];
$balance = _commerce_account_balance_get_balance_raw($account);
if $balance >= 20000 return TRUE;
else return FALSE;
но не срабатывает, пишу в шаблон вывод баланс пользователе 10 рублей у него выводит 1000 в принцепе все как у комерца. Но правилом не срабатывает? почему, оно как не число integer выводит или в чем дело?