Как создать скидку программно на ордер в commerce?

Главные вкладки

Аватар пользователя Evil0o Evil0o 8 декабря 2016 в 16:41

Через хук работает но если пишу свою функцию, скидка не встает

<?php

/**
 * Implements hook_commerce_order_presave().
 */
function mymodule_commerce_order_presave($order) {

    

$order_wrapper entity_metadata_wrapper('commerce_order'$order);
        
$discount_decimal = -500;
        
$discount_currency_code 'RUB';

        

$order_total $order_wrapper->commerce_order_total->value();
        
$discount_amount commerce_currency_decimal_to_amount($discount_decimal$discount_currency_code);
        
$discount_amount commerce_currency_convert($discount_amount$discount_currency_code$order_total['currency_code']);

        

$order_wrapper->commerce_order_total->amount $order_total['amount'] - $discount_amount;
        
$order_wrapper->commerce_order_total->data commerce_price_component_add($order_total'discount', array(
            
'amount' => $discount_amount,
            
'currency_code' => $order_total['currency_code'],
            
'data' => array(),
        ), 
TRUE);
}

?>

Комментарии