---
title: "Typy zliav a kombinovanie — Coupons for Laravel | Roundly"
description: "Enum DiscountType — názvy pre administráciu, prevod na Discount z money a kombinovanie kupónov s ďalšími zľavami v DiscountStack."
url: https://roundly-consulting.com/sk/open-source/navody/coupons-for-laravel/typy-zliav
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Coupons for Laravel](https://roundly-consulting.com/sk/open-source/navody/coupons-for-laravel.md)

# Typy zliav a kombinovanie

Enum DiscountType s reťazcovými hodnotami určuje, ako sa hodnota kupónu uplatní; samotný výpočet zabezpečuje Discount z money-for-laravel:

| Prípad | Hodnota | Význam uloženej hodnoty |
| --- | --- | --- |
| `Fixed` | `fixed` | Najmenšie jednotky meny kupónu. |
| `Percentage` | `percentage` | Bázické body (2500 = 25 %). |
| `FreeShipping` | `free_shipping` | Ignoruje sa — príznak pre riadok dopravy v aplikácii. |

```php
use RoundlyConsulting\Coupons\Enums\DiscountType;
use RoundlyConsulting\Money\Currency;
use RoundlyConsulting\Money\Money;

$eur = Currency::of('EUR');

DiscountType::Fixed->toDiscount(250, $eur)->applyTo(Money::ofMinor(1000, 'EUR'));        // 7.50 EUR
DiscountType::Percentage->toDiscount(1250, $eur)->amountFor(Money::ofMinor(999, 'EUR'));  // 1.25 EUR (12.5 %, half away from zero)
DiscountType::Percentage->toDiscount(5000, $eur, cap: Money::ofMinor(300, 'EUR'));       // 50 % capped at 3.00 EUR

// Free shipping is a discount on the SHIPPING target — route by $discount->target(); never
// apply it to the price of the goods.
DiscountType::FreeShipping->toDiscount(0, $eur)->target(); // DiscountTarget::Shipping

// Translatable labels and descriptions for admin UIs:
DiscountType::Percentage->label();            // "Percentage"
DiscountType::Percentage->description();      // "Subtracts a percentage of the price."
DiscountType::FreeShipping->requiresValue();  // false (Fixed/Percentage are true)
```

## Názvy pre administráciu

label() a description() sa prekladajú cez coupons::messages.type.\*, takže výber do administračného formulára zostavíte jedným riadkom:

```php
collect(DiscountType::cases())->mapWithKeys(fn ($t) => [$t->value => $t->label()]);
// Collection: ['fixed' => 'Fixed amount', 'percentage' => 'Percentage', 'free_shipping' => 'Free shipping']
```

## Kombinovanie s ďalšími zľavami

Coupon::discount(Currency $for) vám vráti kupón ako Discount z money — označený kódom, obmedzený stropom max\_discount a pri uzamknutí vo vlastnej mene kupónu. Skombinujte ho s ďalšími zľavami v DiscountStack:

```php
use RoundlyConsulting\Money\Currency;
use RoundlyConsulting\Money\Discounts\Discount;
use RoundlyConsulting\Money\Discounts\DiscountStack;
use RoundlyConsulting\Money\Money;

$subtotal = Money::ofMinor(8000, 'EUR');
$shipping = Money::ofMinor(500, 'EUR');
$loyalty  = Discount::percentage(5)->labelled('Loyalty');

$breakdown = DiscountStack::of(
    $coupon->discount(Currency::of('EUR')),
    $loyalty,
)->apply($subtotal, $shipping);

$breakdown->discountedSubtotal();
$breakdown->discountedShipping();   // a free-shipping coupon targets shipping here
$breakdown->total();
```

Kupón na dopravu zadarmo vytvorí zľavu s cieľom doprava, takže sa v rozpise prejaví na riadku dopravy, nikdy na tovare. DiscountType::toDiscount(int $value, Currency $currency, ?Money $cap = null) vytvorí rovnaký Discount zo surových hodnôt.

## Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

[Ďalšie spôsoby podpory vrátane kryptomien](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/coupons-for-laravel.md)
