---
title: "Fasáda Advertisements — Advertisements for Laravel | Roundly"
description: "Celé API na jednej fasáde — prechody životného cyklu, servírovanie, vykreslenie a handle for($ad) pre umiestnenia a meranie."
url: https://roundly-consulting.com/sk/open-source/navody/advertisements-for-laravel/fasada
language: sk
---

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

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

# Fasáda Advertisements

Odporúčaným vstupným bodom je RoundlyConsulting\\Advertisements\\Facades\\Advertisements. Jej koreňom je RoundlyConsulting\\Advertisements\\AdvertisementManager, ktorý pre každú operáciu získa akciu z kontajnera — vaša vlastná väzba akcie sa preto uplatní aj vo fasáde. Prechody životného cyklu sú priame metódy:

```php
use RoundlyConsulting\Advertisements\DataTransferObjects\AdvertisementData;
use RoundlyConsulting\Advertisements\Facades\Advertisements;
use RoundlyConsulting\Money\Money;

$ad = Advertisements::create(new AdvertisementData(
    name: 'Vintage road bike',
    price: Money::ofMajor('250.00', 'EUR'),
    category: 'bikes',
    author: $user,                  // any Eloquent model (polymorphic author)
));

Advertisements::publish($ad);                  // live now → AdvertisementPublished
Advertisements::publish($ad, now()->addWeek()); // scheduled → AdvertisementPublished
Advertisements::unpublish($ad);                // back to draft → AdvertisementUnpublished
Advertisements::expire($ad);                   // → AdvertisementExpired
Advertisements::archive($ad);                  // → AdvertisementArchived
Advertisements::delete($ad);                   // soft delete → AdvertisementDeleted
```

Aj servírovanie je priame; všetko o jednej reklame — jej umiestnenia a meranie — nájdete pod handlom for($ad):

```php
// Serving
Advertisements::in('sidebar')->get();                 // active ads in a placement
Advertisements::targetedIn('sidebar', request())->get(); // … that target the viewer
Advertisements::random('sidebar');                    // ?Advertisement
echo Advertisements::render($ad, 'sidebar');          // the creative, or the text ad

// One ad's scoped API
Advertisements::for($ad)->placements()->sync(['sidebar', 'header']);
Advertisements::for($ad)->runsIn('sidebar');          // true
Advertisements::for($ad)->track('sidebar')->impression();
```

## Všetky metódy

| Metóda | Vracia | Čo robí |
| --- | --- | --- |
| `create($data)` | `Advertisement` | Vytvorí reklamu z AdvertisementData. |
| `update($ad, $data)` | `Advertisement` | Prepíše reklamu podľa AdvertisementData. |
| `publish($ad, ?$at = null)` | `Advertisement` | Zverejní hneď alebo naplánuje na budúci okamih. |
| `unpublish($ad)` | `Advertisement` | Vráti do konceptu; vymaže published\_at. |
| `expire($ad, ?$at = null)` | `Advertisement` | Ukončí platnosť hneď alebo nastaví budúcu expiráciu. |
| `archive($ad)` | `Advertisement` | Archivuje bez zmazania. |
| `delete($ad)` | `bool` | Soft delete. |
| `query()` | `Builder` | Nový builder pre nakonfigurovaný model. |
| `active()` | `Builder` | query()->active(). |
| `in($placement)` | `Builder` | Aktívne reklamy v umiestnení (model, id alebo slug). |
| `targetedIn($placement, $viewer = null)` | `Builder` | Aktívne reklamy v umiestnení, ktoré zodpovedajú polohe diváka. |
| `random($placement = null)` | `?Advertisement` | Jedna náhodná aktívna reklama, voliteľne pre umiestnenie. |
| `render($ad, $placement, $attributes = [])` | `HtmlString` | Kreatíva pre umiestnenie, alebo textová reklama. |
| `for($ad)` | `AdvertisementHandle` | API jednej reklamy — umiestnenia a meranie. |
| `for($ad)->placements()->attach / detach / sync($placements)` | `Advertisement` | Pridá, odoberie alebo nahradí umiestnenia; reklama sa vráti s nanovo načítanými umiestneniami. |
| `for($ad)->runsIn($placement)` | `bool` | Či je reklama priradená k umiestneniu. |
| `for($ad)->track(?$placement)->impression(?$data) / ->click(?$data)` | `?AdvertisementEvent` | Zaznamená zobrazenie alebo klik živej reklamy; pri zápise cez frontu null. |
| `fake()` | `AdvertisementsFake` | Pre testy zapne zaznamenávajúci fake. |

- for($ad)->track() odmietne reklamu, ktorá práve nie je živá — koncept, naplánovanú, expirovanú či archivovanú — výnimkou AdvertisementNotActive a track($placement) odmietne umiestnenie, v ktorom reklama nebeží, výnimkou AdvertisementNotInPlacement. track() bez umiestnenia zaznamená meranie bez neho.
- Zápis vracia uložený AdvertisementEvent, alebo null, keď ho tracking.buffered pošle do fronty.
- render() ide cez naviazaný CreativeRenderer — responzívny <img>, ak existuje obrázková kreatíva, inak textovú reklamu.
- Metódy modelu — $ad->publish(), unpublish(), expire(), archive(), delete() a renderCreative() — sú len skratky nad tým istým manažérom, takže spúšťajú rovnaké udalosti a Advertisements::fake() ich zaznamená.

Alias fasády sa registruje globálne, pokiaľ register\_facade\_alias nie je false; samotná trieda fasády funguje vždy.

## 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/advertisements-for-laravel.md)
