NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky

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 migrate

Migrá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 migrate

Stĺ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
TagPublikuje
advertisements-migrationsSedem migrácií, pri publikovaní s časovou pečiatkou.
advertisements-configconfig/advertisements.php.
advertisements-viewsresources/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 kryptomien

Odoslaní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.