Pas via des options. Il est toujours possible de le faire via modification du code par contre...
Vous pouvez éditer le fichier administrator/components/com_hikashop/classes/order.php
Il faut changer le code:
if(!empty($order->cart->products)){
foreach($order->cart->products as $k => $p){
$order->cart->products[$k]->order_id = $order->order_id;
}
$productClass = hikashop::get('class.order_product');
$productClass->save($order->cart->products);
if(!empty($order->order_discount_code)){
//add coupon usage
$query = 'UPDATE '.hikashop::table('discount').' SET discount_used_times=discount_used_times+1 WHERE discount_code='.$this->database->Quote($order->order_discount_code).' AND discount_type=\'coupon\' LIMIT 1';
$this->database->setQuery($query);
$this->database->query();
}
}elseif(!empty($order->order_status)){
$config =& hikashop::config();
$cancelled_order_status = explode(',',$config->get('cancelled_order_status'));
if(in_array($order->order_status,$cancelled_order_status)){
$productClass = hikashop::get('class.order_product');
$productClass->cancelProductReservation($order->order_id);
//remove coupon usage when order is cancelled
if(!isset($order->order_discount_code)){
$oldOrder = $this->get($order->order_id);
$code = $oldOrder->order_discount_code;
}else{
$code = $order->order_discount_code;
}
if(!empty($code)){
$query = 'UPDATE '.hikashop::table('discount').' SET discount_used_times=discount_used_times-1 WHERE discount_code='.$this->database->Quote($order->order_discount_code).' AND discount_type=\'coupon\' LIMIT 1';
$this->database->setQuery($query);
$this->database->query();
}
}
}
par :
if(!empty($order->cart->products)){
foreach($order->cart->products as $k => $p){
$order->cart->products[$k]->order_id = $order->order_id;
}
$productClass = hikashop::get('class.order_product');
$productClass->save($order->cart->products);
}elseif(!empty($order->order_status)){
$config =& hikashop::config();
$cancelled_order_status = explode(',',$config->get('cancelled_order_status'));
if(in_array($order->order_status,$cancelled_order_status)){
$productClass = hikashop::get('class.order_product');
$productClass->cancelProductReservation($order->order_id);
//remove coupon usage when order is cancelled
if(!isset($order->order_discount_code)){
$oldOrder = $this->get($order->order_id);
$code = $oldOrder->order_discount_code;
}else{
$code = $order->order_discount_code;
}
if(!empty($code)){
$query = 'UPDATE '.hikashop::table('discount').' SET discount_used_times=discount_used_times-1 WHERE discount_code='.$this->database->Quote($order->order_discount_code).' AND discount_type=\'coupon\' LIMIT 1';
$this->database->setQuery($query);
$this->database->query();
}
}elseif($order->order_status=='confirmed'){
if(!isset($order->order_discount_code)){
$oldOrder = $this->get($order->order_id);
$code = $oldOrder->order_discount_code;
}else{
$code = $order->order_discount_code;
}
if(!empty($code)){
//add coupon usage
$query = 'UPDATE '.hikashop::table('discount').' SET discount_used_times=discount_used_times+1 WHERE discount_code='.$this->database->Quote($code).' AND discount_type=\'coupon\' LIMIT 1';
$this->database->setQuery($query);
$this->database->query();
}
}
}