Kako ne šteti kupona na izdelke v akciji-Presta

Pozdravljeni,

Iščem in iščem, pa nikakor ne najdem kako narediš, da se kupon ne upošteva pri produktih, ki so v akciji?

Namreč recimo, da nekdo doda 5 izdelkov v košarico in dva od teh so v akciji -25%, stranka pa ima še kodo za popust -10%... kar želim doseči je to, da se ta kupon z 10% upošteva samo za tiste 3 izdelke, ki niso v akciji.

A mi kdo zna pomagat mogoče?

Naj dodam še, da je trenutno verzija prestashopa: 1.6.0.14

hvala vsem skupaj :)

3 odgovori

Jaz bi v tem primeru (oz. sem ker imam podobno) naredil, da izdelam kupon, kodo za kupon, in obklikam vse artikle pri katerih želim, da se kupon lahko unovči, torej izpustim akcijske.
Tako sem jaz naredil in zadeva funkcionira kot mora.

MarioMisaron:
Jaz bi v tem primeru (oz. sem ker imam podobno) naredil, da izdelam kupon, kodo za kupon, in obklikam vse artikle pri katerih želim, da se kupon lahko unovči, torej izpustim akcijske.
Tako sem jaz naredil in zadeva funkcionira kot mora.

To opcijo smo že probali, samo ne bo šlo, ker je fora, da ima vsak kupec na strani možnost za 10% popusta v kolikor deli 2 izdelka na FB... za to pa je zadolžen eden od modulov, ki generira kupon, ko to naredijo.

za @MarioMisaron in vse ostale, ki se srečujete z enakim problemom, tukaj je rešitev, ki vam bo verjetno prišla prav. :)

pojdite v root folder in nato odprite classes/CartRule.php

zamenjajte to kodo

// Discount (%) on the whole order
if ($this->reductionpercent && $this->reductionproduct == 0)
{
// Do not give a reduction on free products!
$ordertotal = $context->cart->getOrderTotal($usetax, Cart::ONLYPRODUCTS, $packageproducts);
foreach ($context->cart->getCartRules(CartRule::FILTERACTIONGIFT) as $cartrule)
$order
total -= Tools::psround($cartrule['obj']->getContextualValue($usetax, $context, CartRule::FILTERACTIONGIFT, $package), _PSPRICECOMPUTEPRECISION_);

          $reduction_value += $order_total * $this->reduction_percent / 100;
      }

z to kodo

// Discount (%) on the whole order
if ($this->reductionpercent && $this->reductionproduct == 0)
{
// Do not give a reduction on free products!
$selectedproductsreduction = 0;
foreach ($packageproducts as $product)
if (!(Product::isDiscounted((int)$product['id
product']))){
$price = ($usetax ? $product['pricewt'] : $product['price']);
$selectedproductsreduction += $price * $product['cartquantity'];
}
$reduction
value += $selectedproductsreduction * $this->reduction_percent / 100;
}

Po zamenjavi kode vam bo stvar funkcionirala tako kot bi morala... ko boste vnesli kupon ga sedaj ne bo več uveljavljalo pri izdelkih, ki so že v akciji.

Upam, da bo to prišlo vsaj nekomu prav. :)

7