/**
* E KUTAK – EINHELL SOLO PROMOCIJA
*
* 2 SOLO uređaja = 1 aku bušilica za 1 KM
* 4 SOLO uređaja = 2 aku bušilice za 1 KM
* 6 SOLO uređaja = 3 aku bušilice za 1 KM
*
* Promotivna bušilica: ID 23512
* Oznaka uređaja: solo
*
* Kupac sam dodaje bušilicu u košaricu.
*
* Nema PROFESSIONAL ni Starter Kit promocije.
*/
/**
* POSTAVKE PROMOCIJE
*/
function ek_solo_promo_config() {
return [
'product_id' => 23512,
'tag' => 'solo',
'required' => 2,
'price' => 1.00,
];
}
/**
* PROVJERA KOŠARICE
*/
function ek_solo_cart_available() {
return function_exists('WC')
&& WC()->cart instanceof WC_Cart;
}
/**
* BROJANJE SOLO UREĐAJA
*/
function ek_solo_device_count($cart = null) {
if (!$cart) {
if (!ek_solo_cart_available()) {
return 0;
}
$cart = WC()->cart;
}
$config = ek_solo_promo_config();
$count = 0;
foreach ($cart->get_cart() as $item) {
$product_id = (int) $item['product_id'];
$variation_id = (int) (
$item['variation_id'] ?? 0
);
// Promotivni proizvodi ne stvaraju
// pravo na dodatni popust.
if (in_array($product_id, [
23512,
25109,
313453
], true)) {
continue;
}
// Provjera oznake SOLO.
$is_solo = has_term(
$config['tag'],
'product_tag',
$product_id
);
// Podrška za varijacije.
if (!$is_solo && $variation_id) {
$is_solo = has_term(
$config['tag'],
'product_tag',
$variation_id
);
}
if ($is_solo) {
$count += (int) $item['quantity'];
}
}
return $count;
}
/**
* BROJ BUŠILICA S PRAVOM NA POPUST
*/
function ek_solo_allowed_qty($cart = null) {
$config = ek_solo_promo_config();
return intdiv(
ek_solo_device_count($cart),
$config['required']
);
}
/**
* BROJ BUŠILICA U KOŠARICI
*/
function ek_solo_drill_count() {
if (!ek_solo_cart_available()) {
return 0;
}
$config = ek_solo_promo_config();
$count = 0;
foreach (WC()->cart->get_cart() as $item) {
if (
(int) $item['product_id'] ===
$config['product_id']
) {
$count += (int) $item['quantity'];
}
}
return $count;
}
/**
* GLAVNI OBRAČUN CIJENE
*/
add_action(
'woocommerce_before_calculate_totals',
'ek_solo_apply_promo',
1000
);
add_action(
'woocommerce_cart_loaded_from_session',
'ek_solo_apply_promo',
1000
);
function ek_solo_apply_promo($cart) {
if (is_admin() && !wp_doing_ajax()) {
return;
}
if (
!$cart instanceof WC_Cart ||
$cart->is_empty()
) {
return;
}
$config = ek_solo_promo_config();
// Svaka 2 SOLO uređaja daju pravo
// na 1 bušilicu za 1 KM.
$remaining = ek_solo_allowed_qty($cart);
// Dohvati izvornu cijenu iz kataloga.
$drill = wc_get_product(
$config['product_id']
);
if (
!$drill ||
$drill->get_price('edit') === ''
) {
return;
}
$normal_price = (float) $drill->get_price('edit');
foreach ($cart->get_cart() as $key => $item) {
if (
(int) $item['product_id'] !==
$config['product_id']
) {
continue;
}
$qty = (int) $item['quantity'];
if ($qty <= 0) {
continue;
}
// Količina po promotivnoj cijeni.
$discounted_qty = min(
$remaining,
$qty
);
// Količina po uobičajenoj cijeni.
$normal_qty = $qty - $discounted_qty;
// Ukupna cijena podijeljena
// s količinom proizvoda.
$unit_price = (
($discounted_qty * $config['price']) +
($normal_qty * $normal_price)
) / $qty;
// Klon proizvoda sprječava
// neželjene promjene drugih stavki.
$product = clone $item['data'];
$product->set_price($unit_price);
$cart->cart_contents[$key]['data']
= $product;
$cart->cart_contents[$key]['ek_solo_discounted_qty']
= $discounted_qty;
$cart->cart_contents[$key]['ek_solo_normal_qty']
= $normal_qty;
$cart->cart_contents[$key]['ek_solo_normal_price']
= $normal_price;
$remaining -= $discounted_qty;
}
}
/**
* PRIKAZ RAZLOŽENE CIJENE U KOŠARICI
*
* Primjer:
* 2 × 1,00 KM
* 1 × redovna cijena
*/
add_filter(
'woocommerce_cart_item_price',
'ek_solo_cart_item_price',
20,
3
);
function ek_solo_cart_item_price($html, $item, $key) {
$config = ek_solo_promo_config();
if (
(int) $item['product_id'] !==
$config['product_id']
) {
return $html;
}
$discounted = (int) (
$item['ek_solo_discounted_qty'] ?? 0
);
$normal = (int) (
$item['ek_solo_normal_qty'] ?? 0
);
if ($discounted <= 0) {
return $html;
}
$normal_price = (float) (
$item['ek_solo_normal_price'] ?? 0
);
$parts = [];
if ($discounted > 0) {
$price = wc_get_price_to_display(
$item['data'],
[
'price' => $config['price'],
'qty' => 1
]
);
$parts[] = sprintf(
'%d × %s',
$discounted,
wc_price($price)
);
}
if ($normal > 0) {
$price = wc_get_price_to_display(
$item['data'],
[
'price' => $normal_price,
'qty' => 1
]
);
$parts[] = sprintf(
'%d × %s',
$normal,
wc_price($price)
);
}
return ''
. implode(' ', $parts)
. ' ';
}
/**
* BROJ KOMADA ISPOD NAZIVA
*/
add_filter(
'woocommerce_cart_item_name',
'ek_solo_cart_item_name',
10,
3
);
function ek_solo_cart_item_name($name, $item, $key) {
if (
(int) $item['product_id'] === 23512 &&
(int) $item['quantity'] > 0
) {
$name .= ''
. (int) $item['quantity']
. ' komada ';
}
return $name;
}
/**
* PROMOTIVNA CIJENA NA STRANICI PROIZVODA
*/
add_filter(
'woocommerce_get_price_html',
'ek_solo_price_html',
1000,
2
);
function ek_solo_price_html($html, $product) {
$config = ek_solo_promo_config();
if (
(int) $product->get_id() !==
$config['product_id']
) {
return $html;
}
if (!ek_solo_cart_available()) {
return $html;
}
$allowed = ek_solo_allowed_qty();
$in_cart = ek_solo_drill_count();
// Prikaz promotivne cijene ako kupac
// ima pravo na dodatnu bušilicu.
if ($allowed <= $in_cart) {
return $html;
}
$normal_price = $product->get_price('edit');
if ($normal_price === '') {
return $html;
}
$regular_display = wc_get_price_to_display(
$product,
[
'price' => (float) $normal_price
]
);
$promo_display = wc_get_price_to_display(
$product,
[
'price' => $config['price']
]
);
return wc_format_sale_price(
$regular_display,
$promo_display
) . $product->get_price_suffix();
}
/**
* SALE BADGE "AKCIJA"
*/
add_filter(
'woocommerce_sale_flash',
'ek_solo_sale_badge',
10,
3
);
function ek_solo_sale_badge($html, $post, $product) {
$config = ek_solo_promo_config();
if (
(int) $product->get_id() !==
$config['product_id']
) {
return $html;
}
if (!ek_solo_cart_available()) {
return '';
}
$allowed = ek_solo_allowed_qty();
$in_cart = ek_solo_drill_count();
if ($allowed > $in_cart) {
return 'Akcija ';
}
return '';
}
Stranica nije pronađena - eKutak - Sigurna web trgovina
Skip to content
“Guma G275/45R20 110V XL FR WINTERCONTACT TS870P CONTINENTAL M+S EVc” je dodan u vašu košaricu.
Vidi košaricu
404
Stranica nije pronađena
Link koji ste otvorili možda više ne postoji ili je pogrešno upisan.
Pretražite webshop ili nastavite pregledavati popularne kategorije.
Najnoviji proizvodi
Besplatna dostava
1,266.13 KM Izvorna cijena bila je: 1,266.13 KM. 1,012.90 KM Trenutna cijena je: 1,012.90 KM.
Besplatna dostava
6,801.13 KM Izvorna cijena bila je: 6,801.13 KM. 5,440.90 KM Trenutna cijena je: 5,440.90 KM.
Besplatna dostava
4,833.63 KM Izvorna cijena bila je: 4,833.63 KM. 3,866.90 KM Trenutna cijena je: 3,866.90 KM.
Besplatna dostava
6,801.13 KM Izvorna cijena bila je: 6,801.13 KM. 5,440.90 KM Trenutna cijena je: 5,440.90 KM.
Besplatna dostava
7,584.88 KM Izvorna cijena bila je: 7,584.88 KM. 6,067.90 KM Trenutna cijena je: 6,067.90 KM.
Besplatna dostava
949.88 KM Izvorna cijena bila je: 949.88 KM. 759.90 KM Trenutna cijena je: 759.90 KM.
Besplatna dostava
7,584.88 KM Izvorna cijena bila je: 7,584.88 KM. 6,067.90 KM Trenutna cijena je: 6,067.90 KM.
Besplatna dostava
948.75 KM Izvorna cijena bila je: 948.75 KM. 759.00 KM Trenutna cijena je: 759.00 KM.
Besplatna dostava
1,236.25 KM Izvorna cijena bila je: 1,236.25 KM. 989.00 KM Trenutna cijena je: 989.00 KM.
Besplatna dostava
3,433.50 KM Izvorna cijena bila je: 3,433.50 KM. 2,746.80 KM Trenutna cijena je: 2,746.80 KM.
Koristimo kolačiće za bolje korisničko iskustvo, analitiku i prikaz relevantnih oglasa. Molimo da pročitate Politiku o kolačićima ili prilagodite postavke.
Ovi kolačići su neophodni za pravilno funkcioniranje web stranice i ne mogu se isključiti. Omogućuju osnovne funkcionalnosti poput navigacije, pristupa sigurnim dijelovima stranice i korištenja košarice.
Ovi kolačići su neophodni za pravilno funkcioniranje web stranice i ne mogu se isključiti. Omogućuju osnovne funkcionalnosti poput navigacije, pristupa sigurnim dijelovima stranice i korištenja košarice.
Ovi kolačići prikupljaju anonimne podatke o načinu korištenja web stranice, poput broja posjeta i izvora prometa, kako bismo mogli poboljšati njezin rad i sadržaj.
Tehničko skladište ili pristup koji se koristi isključivo u anonimne statističke svrhe. Bez sudskog naloga, dobrovoljne suglasnosti od strane vašeg dobavljača internet usluge ili dodatnih zapisa treće strane, informacije sačuvane ili preuzete samo za ovu svrhu obično se ne mogu koristiti za vašu identifikaciju.
Ovi kolačići koriste se za praćenje korisnika kroz web stranice kako bi se prikazivali relevantni i personalizirani oglasi te mjerila učinkovitost marketinških kampanja.
Ova stranica upotrebljava kolačiće
Nema rezultata
Nismo pronašli proizvode za odabrane filtere. Pokušajte s drugačijim izborom.
Poništi filtere