Inštalácia
Pridajte balík cez Composer. Service provider aj alias fasády Advertisements sa zaregistrujú automaticky. Balíky Roundly, na ktorých stojí — media-library, geolocation, sluggable, money, enums a package-toolkit — sa nainštalujú ako závislosti Composeru a ich service providery sa tiež zaregistrujú automaticky:
composer require roundly-consulting/advertisements-for-laravel
php artisan vendor:publish --tag="advertisements-migrations"
php artisan migrateMigrácie sa iba publikujú — balík ich sám nikdy nenačíta, takže php artisan migrate spustí presne sedem publikovaných súborov s časovými pečiatkami v poradí závislostí: categories → placements → advertisements → pivot advertisement_placement → advertisement_events → doplnenie stĺpcov targeting a country_code.
Migrácie sesterských balíkov
Kreatívy sa ukladajú do tabuľky media balíka media-library-for-laravel a jeho migrácie sú povinné, aj keď žiadnu kreatívu nenahráte: render() pred návratom k textovej reklame hľadá kreatívu v tabuľke media, takže bez nej vykreslenie akejkoľvek reklamy vyhodí QueryException. História slugov (predvolene vypnutá) potrebuje tabuľku slug_history z sluggable-for-laravel:
# Required — render() looks creatives up in media-library-for-laravel's media table
php artisan vendor:publish --tag="media-migrations"
# Only with advertisements.slugs.history on — sluggable-for-laravel's slug_history table
php artisan vendor:publish --tag="sluggable-migrations"
php artisan migrateStĺpec price vytvára makro $table->money() z money-for-laravel — suma v najmenších jednotkách v stĺpci decimal(38,0) a stĺpec currency s dĺžkou podľa money.schema.currency_length — preto musí byť pri migrácii zaregistrovaný service provider balíka money. O to sa postará automatické objavovanie balíkov.
Pred migráciou
- advertisements.key_type — nastavte uuid alebo ulid, ak modely autorov používajú kľúče UUID/ULID. Určuje typ polymorfného stĺpca autora a číta sa pri migrácii, preto ho všetky modely autorov musia mať rovnaký; neskoršia zmena si vyžiada vlastnú migráciu.
- Podporované jazyky — migrácia reklám vytvorí jeden unikátny index slugov pre každý jazyk, ktorý sluggable-for-laravel pri migrácii vráti (sluggable.locales.supported, inak app.locale + app.fallback_locale). Tento zoznam nastavte vopred.
Ak jazyk pridáte neskôr, jeho index slugov vytvoríte príkazom:
php artisan sluggable:indexes "RoundlyConsulting\Advertisements\Models\Advertisement"Voliteľné publikovanie
Konfiguračný súbor je voliteľný — každý kľúč má predvolenú hodnotu a tie bežné sa dajú nastaviť cez env:
php artisan vendor:publish --tag="advertisements-config"Ak chcete zmeniť vzhľad záložnej textovej reklamy, ktorá sa vykreslí pri reklame bez obrázka, publikujte jej Blade view:
php artisan vendor:publish --tag="advertisements-views"
# → resources/views/vendor/advertisements/text-ad.blade.php| Tag | Publikuje |
|---|---|
advertisements-migrations | Sedem migrácií, pri publikovaní s časovou pečiatkou. |
advertisements-config | config/advertisements.php. |
advertisements-views | resources/views/vendor/advertisements/text-ad.blade.php. |
Úložisko a geolokácia
Kreatívy sa ukladajú cez media-library-for-laravel — nastavte jeho media.disk a obrázkový driver (gd alebo imagick) podľa dokumentácie daného balíka. Geografické funkcie zisťujú polohu z IP adresy diváka cez geolocation-for-laravel — poskytovateľov (MaxMind, IPinfo, …) nakonfigurujte tam.
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 kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
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.