Такие проблемы решались на офф. форуме...
По теме. Хотелось бы запилить до нормального состояния код для накопительных скидок отсюда:
Задача: делать скидку (переводить пользователя в нужную группу) учитывая при этом только подтвержденные заказы (а не какие попало).
Товарищ предлагает следующий код:
<?php
$my =& JFactory::getUser();
$database = & JFactory::getDBO();
$query = 'select sum(order_total) from jos_vm_orders where user_id='.$my->id;
$database->setQuery($query);
$summa = $database->loadResult();
if ($summa>=5000 && $summa<10000) {
$query = 'UPDATE jos_vm_shopper_vendor_xref SET shopper_group_id=6 WHERE user_id='.$my->id;
$database->setQuery($query);
echo '<h3>Сумма ваших заказов привысила 5000 руб. <br/>Вам предоставляется бронзовая скидка на покупки в размере 2%. Поздравляем!</h3>';
if (!$database->query()) { JError::raiseError( 500, $database->stderr()); }
}
if ($summa>=10000 && $summa<20000) {
$query = 'UPDATE jos_vm_shopper_vendor_xref SET shopper_group_id=7 WHERE user_id='.$my->id;
$database->setQuery($query);
echo '<h3>Сумма ваших заказов привысила 10 000 руб. <br/>Вам предоставляется серебряная скидка на покупки в размере 3%. Поздравляем!</h3>';
if (!$database->query()) { JError::raiseError( 500, $database->stderr()); }
}
?>
Меня интересует такой момент, если меняю строку
$query = 'select sum(order_total) from jos_vm_orders where user_id='.$my->id;
на
$query = 'select sum(order_subtotal) from jos_vm_orders where user_id='.$my->id and status = такой-то;
оно работает, но опять же если код будет выполняться на последнем шаге подтверждения заказа. А надо, чтобы это действо работало в админке, тогда, когда продавец меняет статус заказа... Проблемы с тем, чтобы в админке прикрутить код к нужному месту и вытащить правильный user_id. Тогда перевод в группу будет осуществляться при смене статуса заказа, и будет ясно, что заказ не фуфельный, хак будет работать.
Если кто знает - подскажите плз