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

Inštalácia

Pridajte balík, potom publikujte a spustite jeho migrácie. Service provider sa načíta automaticky cez package discovery — bez manuálnej registrácie:

composer require roundly-consulting/shops-for-laravel

php artisan vendor:publish --tag="shops-migrations"
php artisan migrate

Migrácie sa len publikujú — balík ich sám nikdy nenačíta, takže publikovanie je povinný krok, nie voliteľný. Štrnásť súborov sa publikuje v poradí závislostí (obchody → produkty → varianty → košíky → objednávky), takže ich jeden migrate aplikuje bez problémov. Opätovné publikovanie prepíše tie isté súbory namiesto duplikovania.

Migrácie sesterských balíkov

Shops stavia na sesterských balíkoch Roundly, ktoré Composer nainštaluje automaticky. Šesť z nich má vlastné tabuľky — pred migráciou publikujte každú:

php artisan vendor:publish --tag="media-migrations"
php artisan vendor:publish --tag="reviews-migrations"
php artisan vendor:publish --tag="attributes-migrations"
php artisan vendor:publish --tag="coupons-migrations"
php artisan vendor:publish --tag="credits-migrations"
php artisan vendor:publish --tag="addresses-migrations"
php artisan migrate

Jediná migrácia balíka sluggable (sluggable-migrations, tabuľka slug_history) je potrebná len vtedy, keď zapnete shops.slugs.history.

Pred migráciou sa rozhodnite

  • shops.key_type — bigint, uuid alebo ulid pre polymorfné stĺpce orders.customer, carts.owner a stock_adjustments.reference. Zvoľte typ kľúča vášho modelu používateľa; po spustení migrácií sa už nedá zmeniť.
  • sluggable.locales.supported — migrácie obchodov, produktov a kategórií vytvoria jeden jedinečný index slugu pre každý podporovaný jazyk. Predvolene app.locale a app.fallback_locale.
# .env — fixed once the migrations have run
SHOPS_KEY_TYPE=ulid   # bigint (default) | uuid | ulid
// config/sluggable.php — one unique slug index is created per supported locale
'locales' => [
    'supported' => ['en', 'sk'],   // null = app.locale + app.fallback_locale
],

Konfiguračný súbor

Konfiguračný súbor je voliteľný — každý kľúč má predvolenú hodnotu a tie bežné sa dajú nastaviť cez env. Publikujte ho len vtedy, keď chcete niečo prepísať:

php artisan vendor:publish --tag="shops-config"

Balík poskytuje dva publish tagy: shops-migrations a shops-config.

Čo dostanete spolu s ním

Tieto balíky Roundly sú pevné závislosti a poháňajú konkrétne časti obchodu:

BalíkČo poháňa
money-for-laravelKaždá suma: Money a Currency, presná daň po riadkoch, rozloženie zľavy, casty a peňažné stĺpce decimal(38,0).
enums-for-laravelPomocné metódy na Status, PriceType a StockReason — labels(), options(), validationRule() a ďalšie.
media-library-for-laravelHlavné obrázky a galérie produktov, obrázky variantov, bannery kategórií.
reviews-for-laravelRecenzie produktov, súhrny hodnotení, overené nákupy.
attributes-for-laravelTypované, filtrovateľné atribúty špecifikácie produktu.
coupons-for-laravelCelá logika kupónov a zliav — percentá, pevné sumy, doprava zdarma, stropy, limity použitia.
credits-for-laravelPlatba kreditom v obchode a refundácie ako kredit.
addresses-for-laravelAdresár zákazníka → zafixovaná fakturačná a doručovacia adresa objednávky.
sluggable-for-laravelSlugy obchodov, produktov a kategórií pre každý jazyk, jedinečnosť a route binding.
package-toolkit-for-laravelBuilder providera, makro stĺpca morphKey, resolvery modelov a sekcia about.

Čo provider zaregistruje

  • Zlúči config/shops.php, zaregistruje ShopsManager (koreň fasády Shops) ako singleton a CurrentShop ako scoped väzbu — resetuje sa pre každý request a každý job vo fronte. Globálny alias Shops pochádza z composer.json balíka.
  • Z konfigurácie naviaže šesť driverov — NumberGenerator, TaxResolver, PaymentGateway, ShippingMethod, DiscountResolver a VerifiedPurchaseResolver.
  • Zaregistruje makro Blueprintu morphKey, ktoré používajú migrácie objednávok, košíkov a pohybov zásob.
  • Zaregistruje každú položku shops.attributes.definitions v registri atribútov.
  • Na OrderRefunded počúva cez GrantStoreCreditOnRefund.
  • Pridá sekciu Shops do php artisan about.
php artisan about --only=shops

Sekcia about zobrazí modely obchodu a kupónu, menu, typ ceny, resolver daní a počet daňových tried, platobnú bránu, kredit v obchode, spôsob dopravy, resolver zliav, čísla objednávok, prah nízkej zásoby, počet atribútov, médiá katalógu, overené nákupy, záložný jazyk a históriu slugov. Nakonfigurované triedy sa zobrazia len základným názvom; názvy daňových tried, atribútov, skupiny kreditov ani disku médií sa nikdy nevypíšu.

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.