cartrule програмно не работи отстъпка prestashop 1.7

Здравейте, първо искам да кажа, че тази общност е моята библия и аз дължа много, благодаря ви много,

Сега по отношение на моя въпрос и работата по отстъпка за продукт и клиент през ajax по време на решетката на количката за пазаруване, кодът е следният:

        $context = Context::getContext();
    $cod_prod = Tools::getValue('id_data');
    $qty = Tools::getValue('qty');
    $descuento = Tools::getValue('descuento');

    $time_original = strtotime(date("Y-m-d H:i:s"));
    $time_add      = $time_original + (3600*24);

    $r = new CartRule();
    $r->name = array(1=>"descuento".$context->cookie->id_customer.date("Ymd_His"));
    $r->id_customer = $context->cookie->id_customer;
    $r->date_from = date("Y-m-d H:i:s");
    $r->date_to = date("Y-m-d H:i:s", $time_add);
    $r->description = "desc";
    $r->quantity = $qty;
    $r->quantity_per_user = $qty;
    $r->priority = 1;
    $r->partial_use = 1;
    $r->minimum_amount = 0.00;
    $r->minimum_amount_tax = 0;
    $r->minimum_amount_currency = 1;
    $r->minimum_amount_shipping = 1;
    $r->country_restriction = 0;
    $r->carrier_restriction = 0;
    $r->group_restriction = 0;
    $r->cart_rule_restriction = 0;
    $r->product_restriction = 1;
    $r->shop_restriction = 0;
    $r->free_shipping = 0;
    $r->reduction_percent = $descuento;
    $r->reduction_amount = 0.00;
    $r->reduction_tax = 0;
    $r->reduction_currency = 1;
    $r->reduction_product = $cod_prod;
    $r->reduction_exclude_special = 0;
    $r->gift_product = 0;
    $r->gift_product_attribute = 0;
    $r->highlight = 0;
    $r->active = 1;
    $r->date_add = date("YY-mm-dd");
    $r->date_upd = date("YY-mm-dd");


    //this creates the coupon
    $r->add();    

Кодът успешно създава правилото за отстъпка за продукта. Мога да го проверя в администратора в частта за отстъпки, правилото е създадено, но в края на поръчката виждам в администратора и поръчката няма нищо присвоено отстъпка и in No place ice, че потребителят има правило за количка, което ще приспадне процента от правилото.

Благодаря предварително


person user3158364    schedule 06.05.2017    source източник


Отговори (1)


Не свързвах правилото с количката, направих го с тези редове, работи перфектно

    $values = array(
        'tax_incl' => $r->getContextualValue(true),
        'tax_excl' => $r->getContextualValue(false)
    );

    $context->cart->addCartRule($r->id, $r->name[Configuration::get('PS_LANG_DEFAULT')], $values);
person user3158364    schedule 07.05.2017