Jump to content
  • 0

Specyficzna cena dla produktów które są na magazynie


hakeryk2

Question

Witam,

Czy ktoś ma pomysł jak masowo utworzyć rabat (specyficzną cenę) na produkty które są na magazynie?

Chodzi mi o to, że chciałbym zrobić wyprzedaż magazynową i dać 10% rabatu na produkty które mają stock większy niż 0.

Jeśli nie istnieje możliwość bezpośrednio przez prestę to może jakaś wskazówka jak masowo robić takie cudo w kodzie? 
Tzn pobrałbym sobie wszystkie id_product oraz id_product_attribute które mają stock_quantity większe niż 0 i dla nich foreachem utworzył tą specyficzną cenę tylko nie do końca wiem jaka funkcja odpowiada za takie działanie. Istnieje może coś takiego jak to?
 

$specific_price = New SpecificPrice($id_product, $id_product_attribute);
$specific_price->discount = 10;
$specific_price->method = 'percentage';
$specific_price->ends = '2018-02-10 23:59:59';

$specific_price->save();

Przykład byle jaki ale wiecie o co mi chodzi :)

Nie chcę manipulować główną ceną produktu czy też wpływem kombinacji, chciałbym by to była specyficzna cena dzięki której wyświetli się informacja o tym, że to promocja no i w kodzie mógłbym ustawić kiedy promo się skończy.

Każda podpowiedź będzie na wagę złota.
-------------------------------------------------------------------------------------

Ok, mam :)

 

/**
 * @param int $id_product
 * @param int $id_product_attribute if 0 then for all attributes
 * @param float $reduction_value ie. 0.07 means 7% when percentage as $reduction_type and 10.00 means 10 when amount
 * @param string $reduction_type is 'percentage' or 'amount'
 * @param int $tax if set to 1 then price of specific price is brutto if 0 then netto
 * @param string $from_date is 'YYYY-MM-DD HH:MM:SS'
 * @param string $to_date is 'YYYY-MM-DD HH:MM:SS'
 * @param int $from_quantity of products
 * @param int $id_shop 0 for all
 * @param int $id_shop_group 0 for all
 * @param int $id_currency 0 for all
 * @param int $id_country 0 for all
 * @param int $id_customer 0 for all
 * @param int $price is always -1
 * @param int $from_quantity default is 1
 */
function addSpecificPrice($id_product, $id_product_attribute = 0, $reduction_value = 0.00, $reduction_type = 'percentage', $from_date = '0000-00-00 00:00:00', $to_date = '0000-00-00 00:00:00', $tax = 1, $from_quantity = 1,  $id_shop = 0, $id_shop_group = 0,  $id_currency = 0, $id_country = 0, $id_customer = 0, $price = -1, $from_quantity = 1) {

    $specificPrice = new SpecificPriceCore();
    $specificPrice->id_product = (int)$id_product;
    $specificPrice->id_product_attribute = (int)$id_product_attribute; // if 0 then for all attributes

    $specificPrice->reduction = $reduction_value; // 7% is 0.07
    $specificPrice->reduction_type = $reduction_type;
    $specificPrice->reduction_tax = $tax;
    $specificPrice->id_shop = $id_shop;
    $specificPrice->id_currency = $id_currency;
    $specificPrice->id_country = $id_country;
    $specificPrice->id_group = $id_shop_group;
    $specificPrice->id_customer = $id_customer;
    $specificPrice->price = $price;
    $specificPrice->from_quantity = $from_quantity;
    $specificPrice->from = $from_date;
    $specificPrice->to = $to_date;

    $specificPrice->add();
    $addedPriceId = $specificPrice->id;

    return $addedPriceId;
}

addSpecificPrice(1935, 8458, 0.10, 'percentage', '0000-00-00 00:00:00', '2018-02-18 23:59:59');

 

Edited by hakeryk2
Rozwiązano :) (see edit history)
Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...